Bash export in a script; To next script?
本问题已经有最佳答案,请猛点这里访问。
我想在脚本中设置一个变量,并将其放在脚本外部用于下一个命令。
这就是我所拥有的:
1 2 3 4 5 6 7 8 9 10 11 | #!/bin/bash myExports="TEST='Value 1';export TEST;"; echo Before eval: $TEST echo '***' eval $myExports echo After eval: $TEST echo '***' |
我这样称呼它:
1 | ./env1.sh ;echo Next command:$TEST |
这是输出:
1 2 3 4 5 | Before eval: *** After eval: Value 1 *** Next command: |
你可以用你的剧本像…
1 2 | #source ./env1.sh; echo Next command:$TEST . ./env1.sh; echo Next command:$TEST |
正如@jonathon在评论中指出的那样,使用
实际上,如果使用此方法,甚至不需要导出变量。
执行此操作时,请注意变量名。即使这是你想要的,你也在污染你的环境。
我不知道脚本的目的是什么,但如果可能的话,我倾向于避免使用
1 2 3 4 5 6 7 8 9 10 11 12 | #!/bin/bash #myExports="TEST='Value 1';export TEST;"; echo Before eval: $TEST echo '***' TEST='Value 1'; export TEST #eval $myExports echo After eval: $TEST echo '***' |