在执行脚本时设置bash变量

时间:2013-01-03 23:01:19

标签: bash

我的示例脚本看起来像

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

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

这样的东西
$ bash script.sh -v VAR="bar" (sorry for the invention)

1 个答案:

答案 0 :(得分:3)

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

VAR=bar ./script.sh

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

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

$ export VAR=bar
$ ./script.sh