kyb*_*kyb 0 linux bash console sh
我想传递一个在控制台中设置的变量到脚本.在这种情况下,不推荐使用参数."额头决定"不起作用:
$ echo 'echo $VAR' > script.sh
$ cat ./script.sh
echo $VAR
$ ./script.sh
$ VAR=1
$ ./script.sh
$
Run Code Online (Sandbox Code Playgroud)
但我期待结果 1
您需要"导出"该变量,以便它由生成的进程继承:
$ 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
$
Run Code Online (Sandbox Code Playgroud)
$ VAR='hello world'
$ export VAR
Run Code Online (Sandbox Code Playgroud)
可以缩短bash:
export VAR='hello world'
Run Code Online (Sandbox Code Playgroud)