我想传递一个在控制台中设置的变量到脚本。在这种情况下,不推荐使用参数。 "在额头上的决定"不起作用:
$ echo 'echo $VAR' > script.sh
$ cat ./script.sh
echo $VAR
$ ./script.sh
$ VAR=1
$ ./script.sh
$
但我希望结果1
答案 0 :(得分:5)
你需要"导出"该变量使其由生成的进程继承:
$ echo 'echo $VAR' > script.sh
$ cat ./script.sh
echo $VAR
$ chmod a+x ./script.sh
$ ./script.sh
$ VAR='hello world'
$ export VAR
$ ./script.sh
hello world
$
$ VAR='hello world'
$ export VAR
可以用bash缩短:
export VAR='hello world'