我对 Linux 中的“编程”完全陌生,我想知道在运行 bash 文件时是否可以包含变量的定义。
我的 bash 文件需要该变量才能从一个或另一个路径开始,因此我希望能够在运行脚本时包含它。
像这样的东西:
bash MYFILE.sh -VARIABLE
所以 -VARIABLE 将在脚本中使用。
谢谢!
如果这是您想要实现的,您可以利用 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 参考手册中描述为:
如果参数未设置或为空,则将单词的扩展分配给参数。然后替换参数的值。不能以这种方式分配位置参数和特殊参数。