回显在shell脚本中运行的命令
是否可以回显shell脚本中正在运行的命令 (无需在sheabang中放置-X以打开debuggin模式。这不是调试过程的一部分) 谢谢 [编辑:更多详细信息] 假设我有这样一个脚本:回显在shell脚本中运行的命令,shell,echo,Shell,Echo,是否可以回显shell脚本中正在运行的命令 (无需在sheabang中放置-X以打开debuggin模式。这不是调试过程的一部分) 谢谢 [编辑:更多详细信息] 假设我有这样一个脚本: #! /bin/sh clear cd ~/home/ 如何将执行的两个命令(cd和clear)打印到控制台 echo $0 这将回显命令行中的第一个单词。如果指定了相对路径,如“/bin/test”,则将显示整个路径,因此您可能需要: echo $(basename $0) 这将只回显“test”,而不
#! /bin/sh
clear
cd ~/home/
如何将执行的两个命令(cd
和clear
)打印到控制台
echo $0
这将回显命令行中的第一个单词。如果指定了相对路径,如“/bin/test”,则将显示整个路径,因此您可能需要:
echo $(basename $0)
这将只回显“test”,而不是“/bin/test”
脚本在错误消息中使用$0是很常见的,而不是硬编码名称,因为程序可以重命名或从符号链接调用。在我的
/bin/sh
(Debian Almquist Shell,dash)版本中,只有-x
才能获得此行为。回响命令也是<代码> -X/COD>的唯一效果,所以我认为没有理由不使用它。不。这正是#/bin/bash;cmd1;echo-cmd2;cmd2;cmd3
。祝大家好运。嗯,我不是有意打印脚本的名称($0)。“echo$0”完全按照您的要求执行:回显正在运行的命令。你想要什么?回显将要运行的命令?回显在另一个进程中运行的命令?我想你不明白我的要求。(我已经用更多细节编辑了这个问题)我想我只需要更多的上下文来说明为什么要在调试上下文之外进行此操作。您可以创建一个命令和参数列表,并对其进行迭代。。。