neu*_*ert 0 linux shell ubuntu command-line-interface
我在以下文件-test.sh-中:
#!/bin/sh
export ASDF=test
我这样做chmod +x test.sh,那么./test.sh最后echo $ASDF和什么都没有。好像没有设置$ ASDF。但是,如果我通过CLI而不是Shell脚本来执行此操作,则可以正常工作,并且已定义$ ASDF。
Shell脚本为什么不起作用?
这是因为:
./test.sh
将创建一个子外壳,并在子外壳中设置env变量。子外壳退出后,该变量在父外壳中将不可用。
使用以下形式来避免派生子外壳程序并test.sh在当前外壳程序本身中执行:
. ./test.sh
要么:
source ./test.sh
现在,该变量ASDF也将在当前shell中可用。
| 归档时间: | 
 | 
| 查看次数: | 1614 次 | 
| 最近记录: |