Sun*_* FE 3 linux unix bash macos
我在Ask Ubuntu上发现我可以使用这个命令来找出我所在的 shell。
echo $0
Run Code Online (Sandbox Code Playgroud)
我喜欢这个,因为与Unix 和 Linux Stack Exchange上的更复杂的解决方案相比,它很简单。
我想echo类似于打印,但什么是$0?
最终,我希望能够以编程方式打开多个选项卡,类似于在Stack Overlow上看到的。
那使用gnome-terminal但我正在使用 Bash。
正如对您链接到的那个答案的评论中所解释的那样,echo $0只向您显示当前正在运行的进程的名称:
$0 是正在运行的进程的名称。如果您在 shell 中使用它,那么它将返回 shell 的名称。如果您在脚本中使用它,它将是脚本的名称。
可以在此其他站点上找到更多详细信息:
$0 是Bash 特殊参数之一。它只能被引用如下(只是一个例子,因为在编写脚本时有多种引用和使用 $0 的方法)。
所以只需创建一个像这样的 Bash 脚本。首先打开一个test.sh用 Nano调用的写入文件,如下所示:
nano test.sh
Run Code Online (Sandbox Code Playgroud)
然后将这些内容放入该文件中:
#!/bin/bash
echo $0
Run Code Online (Sandbox Code Playgroud)
然后点击Ctrl+ X,保存文件。现在使脚本可执行,如下所示:
chmod 700 test.sh
Run Code Online (Sandbox Code Playgroud)
现在像这样运行它:
./test.sh
Run Code Online (Sandbox Code Playgroud)
输出将是:
./test.sh
Run Code Online (Sandbox Code Playgroud)
因此,对于您所描述的目的,echo $0将不会真正起作用。
| 归档时间: |
|
| 查看次数: |
7326 次 |
| 最近记录: |