Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
运行包含变量的bash,该变量位于;bash XXX.sh“;命令_Bash_Variables_Include - Fatal编程技术网

运行包含变量的bash,该变量位于;bash XXX.sh“;命令

运行包含变量的bash,该变量位于;bash XXX.sh“;命令,bash,variables,include,Bash,Variables,Include,我对Linux中的“编程”一无所知,我想知道在运行bash文件时是否可以包含变量的定义 我的bash文件需要变量才能从一个或另一个路径转到另一个路径,因此我希望能够在运行脚本时包含它。 大概是这样的: bash MYFILE.sh -VARIABLE 因此-变量将用于脚本中 谢谢大家! 您可以利用shell参数扩展从父进程的环境中平滑地读取变量,如果这正是您想要实现的 查看以下名为test.sh的脚本: #!/bin/bash VARIABLE=${VARIABLE:="default v

我对Linux中的“编程”一无所知,我想知道在运行bash文件时是否可以包含变量的定义

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

bash MYFILE.sh -VARIABLE
因此-变量将用于脚本中


谢谢大家!

您可以利用shell参数扩展从父进程的环境中平滑地读取变量,如果这正是您想要实现的

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

#!/bin/bash 

VARIABLE=${VARIABLE:="default value"}

echo $VARIABLE
如果你从这条线开始

$ ./test.sh
$ VARIABLE="custom Value" ./test.sh
它输出

 default value
但是如果您使用以下行调用
test.sh

$ ./test.sh
$ VARIABLE="custom Value" ./test.sh
它输出

 custom value
但要确保变量赋值在行的开头。否则,它将作为命令行参数传递给
test.sh

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

如果参数未设置或为空,则word的展开式将指定给参数。然后替换参数的值。位置参数和特殊参数不能以这种方式指定给