1
55
当前运行的shell的命令或路径存储在环境变量中
这将输出当前正在运行的shell 或 当前运行shell的路径,具体取决于如何调用shell。可能需要进行一些处理:
这个
|
2
7
如果您没有在shebang行中指定程序,我相信将使用/bin/sh。不幸的是,我不相信有一个好的便携式方法来确定外壳是什么。
如果您使用的是Linux,则可以通过
获取可执行文件名很容易
但这对shell的类型(除了通过已知shell的查阅表)和版本(afaict,甚至没有从dash获取版本的方法)都没有帮助。 |
3
5
Try($$is shell变量设置为shell的进程ID):
或者尝试此操作(/proc/self is aloso process id of the shell):
至于“-bash”,dash意味着它是登录shell。再次输入bash,现在您将看到shell只是“bash”(不带破折号)。 |
4
2
我认为“手指”就是你要找的那个。 尝试此命令:
|
5
1
与其试图确定当前使用的shell,通常更适合简单地作为所需的shell重新执行。这可能只是一个历史性的解决方法,因为没有可靠的、可移植的方法来确定您当前使用的shell。最好的做法是编写脚本以尽可能多地在shell中工作,这样它就不会成为问题。(例如,可移植性很重要,不管有多少人想声称“bash无处不在”)。 |
6
0
您可以在ARCHLinux中使用以下内容。
|
7
-1
所以很明显,结论是我想要的工具不存在,并且没有简单的跨平台方法来实现这一点。 这里的一些答案在Linux上工作得很好。 |
8
-1
这给我展示了更可靠的结果。
|
lonix · 使用sed从JSON中提取非贪婪正则表达式 1 年前 |
g00dds · 如何在bash中从文件中的每一行解码base64? 2 年前 |
Paul · Bash wait命令忽略指定的进程ID 2 年前 |
RafaÅ G. · 如何使用从文件读取的多行参数运行ssh? 2 年前 |
Priya · 在shell脚本中多次运行python脚本 2 年前 |