0

我的示例脚本看起来像

#!/bin/bash
VAR="foo"
if [ $VAR etc etc
then etc
...

有没有办法在不编写脚本的情况下调用脚本来更改 $VAR 的值?我会想象类似的东西

$ bash script.sh -v VAR="bar" (sorry for the invention)
4

1 回答 1

3

要为程序调用设置环境变量,只需在调用脚本之前将赋值添加到该行:

VAR=bar ./script.sh

请注意,这不会覆盖脚本中设置的内容;因此在脚本中,您需要先检查它是否已设置,然后再将其设置为默认值。

如果您希望为多个调用设置此变量,则可以在 shell 中定义它,然后将其导出,以便它位于子进程的环境中:

$ export VAR=bar
$ ./script.sh
于 2013-01-03T23:03:02.787 回答