[英]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.