【问题标题】:Run a bash including a variable in the "bash XXX.sh" command在“bash XXX.sh”命令中运行包含变量的 bash
【发布时间】:2013-08-02 02:31:09
【问题描述】:

我对 Linux 中的“编程”完全陌生,我想知道在我运行 bash 文件时是否可以包含变量的定义。

我的 bash 文件需要该变量才能从一个或另一个路径转到,所以我希望能够在运行脚本时包含它。
像这样的:

bash MYFILE.sh -VARIABLE

所以 -VARIABLE 将在脚本中使用。

谢谢!

【问题讨论】:

    标签: bash variables include


    【解决方案1】:

    如果这是您想要实现的目标,您可以利用 shell 参数扩展从父进程的环境中顺利读取变量。

    查看以下名为test.sh的脚本:

    #!/bin/bash 
    
    VARIABLE=${VARIABLE:="default value"}
    
    echo $VARIABLE
    

    如果你从那一行开始

    $ ./test.sh
    

    输出

     default value
    

    但如果你调用 test.sh 与该行

    $ VARIABLE="custom Value" ./test.sh
    

    输出

     custom value
    

    但要确保变量赋值位于行首。否则,它将作为命令行参数传递给test.sh

    参数扩展${parameter:=word}的使用形式在bash参考手册中描述为:

    如果参数未设置或为空,则将单词的扩展分配给参数。然后替换参数的值。位置参数和特殊参数不能这样赋值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-25
      • 1970-01-01
      • 1970-01-01
      • 2022-11-12
      • 2019-04-05
      • 2014-08-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多