判断你当前使用的shell程序

    对于游走在多种shell中的孩子,想知道当前用的是zsh还是bash,应该怎么办呢?

    这个问题似乎很简单是吧?google答案一大堆, 有用env的,有查看$SHELL的,但这些都不严谨,直接说就是有坑。

    例如我平常用的shell是zsh,什么env、echo $SHELL的都能显示是zsh;但是,当我在zsh中输入bash,打开一个子shell时,用上面两个命令,显示的缺依然是zsh。

    差点就想自己写个命令来判断了;再google了一下,看到了一个很聪明简单的方法(我真蠢。。):

    echo $0

    在bash下会输出"bash"或"/bin/bash"之类的,在zsh下则是"/bin/zsh"等。

    $0代表的是什么意思呢?根据http://www.mcsr.olemiss.edu/unixhelp/scrpt/scrpt2.2.2.html里的表达,是指当前正执行的命令;在命令行直接echo会返回shell程序,在脚本,如script.sh中"echo $0"的话,则会输出该脚本的名字,"script.sh"。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值