判断当前shell的名称

此页由Linux Wiki用户Chenxing于2008年1月24日 (星期四) 13:57的最后更改。

出自Linux Wiki

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

有时需要知道当前正在运行的是什么shell。下面介绍两个小技巧,都不是很完美,欢迎补充(左边有“编辑”)。

神奇的$0

$0返回命令行第零个参数,通常是程序名和路径。在Shell命令行状态,$0就是执行shell时的程序名了。

echo $0

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

利用$$

$$返回当前shell的pid。可以结合ps得知当前shell的名称。

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

此方法适用范围可能更广,且可以用于脚本中。不过注意用于脚本中时,ksh不能返回正确结果。

参考资料

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

反馈与讨论

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