我发现询问 Ubuntu我可以使用此命令来找出我处于什么shell中。
echo $0
我喜欢这个,因为与更复杂的解决方案相比,它很简单,比如Unix 和 Linux堆栈交换。
我想象的echo
与印刷类似,但它是什么$0
?
最终,我希望能够以编程方式打开多个选项卡,类似于此处所见堆栈溢出。
那有用gnome-terminal
但是我正在使用 Bash。
答案1
$0 是 Bash 中的一个特殊参数……
…和别的符合 POSIX 标准的 shell也一样。
正如解释的那样你链接到的答案上的这个评论,echo $0
仅显示当前正在运行的进程的名称:
$0 是正在运行的进程的名称。如果您在 shell 中使用它,它将返回 shell 的名称。如果您在脚本中使用它,它将是脚本的名称。
更多详情可在另一个网站上找到:
$0 是Bash 特殊参数。只能按如下方式引用(仅仅是一个示例,因为在编写脚本时有多种方式可以引用和使用 $0)。
因此,只需创建一个这样的 Bash 脚本即可。首先使用 Nano 打开一个名为的文件,test.sh
如下所示:
nano test.sh
然后将这些内容放入该文件中:
#!/bin/bash
echo $0
然后点击Ctrl+ X,保存文件。现在使脚本可执行,如下所示:
chmod 700 test.sh
现在像这样运行它:
./test.sh
输出结果为:
./test.sh
因此,您所描述的目的echo $0
实际上不起作用。