unix – 我在什么shell?

是否有命令来标识当前shell的名称/类型,shell二进制文件的路径和shell的版本?

我不需要所有的,但我能得到的越多,越好。

我想要一个与uname,pwd,whoami相同的感觉的东西。只是一个简单的实用程序与简单的输出。 (到目前为止还没有出现:/)

re ps

$ ps -o comm $$
COMM
-bash

为什么是-bash而不是完整的路径,因为它会与其他一切?什么是与那里的冲刺的处理?

当前运行的shell的命令或路径存储在环境变量$ 0中。要查看其值,请使用:
echo $0

这将输出您当前运行的shell或当前运行的shell的路径,具体取决于它的调用方式。可能需要进行一些处理:

prompt:~$ echo $0
/bin/bash
prompt:~$ sh
sh-4.0$ echo $0
sh
sh-4.0$ exit
exit
prompt:~$ /bin/sh
sh-4.0$ echo $0
/bin/sh
sh-4.0$

$ SHELL环境变量包含用户首选的shell,不一定是当前运行的shell。

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...