是否有可能回显出在shell脚本中运行的命令?
(没有把-X放在sheabang中打开调试模式。这不是调试过程的一部分)
感谢
[编辑:更多详情]
假设我有一个这样的脚本:
#! /bin/sh
clear
cd ~/home/
如何将执行的两个命令(cd
和clear
)打印到控制台?
答案 0 :(得分:1)
在我的/bin/sh
版本(Debian Almquist Shell,破折号)上,除了-x
之外没有别的方法可以解决这个问题。回声命令也是-x
的唯一效果,因此我认为没有理由不使用它。
答案 1 :(得分:0)
echo $0
这将回显命令行中的第一个单词。如果您指定了一个相对路径,例如“./bin/test”,它将显示整个路径,因此您可能需要:
echo $(basename $0)
这只会回应“test”,而不是“./bin/test”。
脚本在错误消息中使用$ 0而不是对名称进行硬编码是很常见的,因为程序可以通过符号链接重命名或调用。