“echo $0” 如何工作?

“echo $0” 如何工作?

我发现询问 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实际上不起作用。

相关内容