判斷當前shell的名稱

此頁由 Linux Wiki用戶Chenxing 於 2008年1月24日 (星期四) 13:57 的最後更改。

出自Linux Wiki

提示:此文已超过 16 年(5908 天)未更新,如发现内容过时或有误,欢迎改进:)

有時需要知道當前正在運行的是什麼shell。下面介紹兩個小技巧,都不是很完美,歡迎補充(左邊有“編輯”)。

神奇的$0

$0返回命令行第零個參數,通常是程序名和路徑。在Shell命令行狀態,$0就是執行shell時的程序名了。

echo $0

然而,由前面所述的原理知,此法不能用在腳本中。另外,csh也不支持這種方法。

利用$$

$$返回當前shell的pid。可以結合ps得知當前shell的名稱。

ps | grep $$ | awk '{print $4}'

此方法適用範圍可能更廣,且可以用於腳本中。不過注意用於腳本中時,ksh不能返回正確結果。

參考資料

本文对您有帮助?分享给更多朋友!

反馈与讨论

发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。
简体繁体转换