[英]Bash shebang option -l
我使用了一个脚本test.sh
,由其他人编写,以bash shebang开头:
#!/bin/bash -l
...
echo TEST: $TEST
从我所看到的,这对脚本中使用的变量有影响:
TEST=hey ./test.sh
,我可以看到TEST: hop
, hop
是我的.bash_profile
中变量TEST
的值 export TEST=hey
,这是一样的 -l
标志,那么同样的命令会返回TEST: hey
,就像我预期的那样 有人可以解释一下这种行为吗? bash的帮助没有...帮助。
-l
选项(根据手册页 )使“bash表现为好像它已被作为登录shell调用”。 登录shell从主目录中读取某些初始化文件,例如.bash_profile
。 由于您在.bash_profile
设置了TEST
的值,因此在bash
启动时会覆盖您在命令行上设置的值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.