bash 與 ./ 執行 script 差異 - Linux

Table of Contents

想請問我寫了一個 shell script

然後用 bash 去執行

跟用 ./ 去執行

在系統上是否有差異呢?

謝謝!

--

All Comments

Rae avatarRae2021-10-20
查一下 shebang 跟 Bash 的 POSIX sh 相容模式
Tristan Cohan avatarTristan Cohan2021-10-25
基本沒差..
Delia avatarDelia2021-10-30
不是第一行寫什麼就用什麼執行嗎
Leila avatarLeila2021-10-28
./ 這個看第一行 #!/path/to/interpreter
Poppy avatarPoppy2021-11-02
那用bash 執行的話,script第一行寫別的,這樣優先順序不知道怎麼決定 哈哈
Delia avatarDelia2021-10-28
你可以試試看 我猜還是bash
Olivia avatarOlivia2021-11-02
Fork bash 去執行 script, script 第一行寫別的.
Yedda avatarYedda2021-10-28
bash 會再 fork 第一行寫的往下執行吧
Isabella avatarIsabella2021-11-02
沒有,就是 bash 執行
Edwina avatarEdwina2021-10-28
我剛試了一下 bash會直接忽略第一行的內容 直接往下
Oliver avatarOliver2021-11-02
執行 tcsh會fork出第一行#!的shell再往下執行
Zora avatarZora2021-10-28
https://imgur.com/WEilM8A
Christine avatarChristine2021-11-02
建議用語法不同的指令測試 (像是for)。我不確定tcsh怎麼處理SHELL這個環境變數
Franklin avatarFranklin2021-10-28
被樓上說中了 結果tcsh也是忽略#!那一行直接往下執行
Thomas avatarThomas2021-11-02
雖然SHELL變數內容為/bin/bash 但實際上是tcsh在執行指令 https://imgur.com/oYVNe4x
Brianna avatarBrianna2021-10-28
看了一下pstree tcsh確實忽略#!那一行沒錯
Audriana avatarAudriana2021-11-02
因為#就是註解啊...你會說 /* 我覺得gcc忽略我的註解 */ 嗎