0

是否可以在 shell 脚本中回显正在运行的命令?

(没有把 -X 在 sheabang 中打开调试模式。这不是调试过程的一部分)

谢谢

[编辑:更多细节]

假设我有一个这样的脚本:

#! /bin/sh

clear
cd ~/home/

如何将执行的两个命令(cdclear)打印到控制台?

4

2 回答 2

1

在我的版本(Debian Almquist Shell,dash)上,除了获得这种行为/bin/sh之外别无他法。-x回显命令也是 的唯一效果-x,所以我认为没有理由不使用它。

于 2012-05-24T19:27:22.720 回答
0
echo $0

这将回显命令行中的第一个单词。如果您指定了一个相对路径,例如“./bin/test”,它将显示整个路径,因此您可能需要:

echo $(basename $0)

那只会回显“test”,而不是“./bin/test”。

脚本在错误消息中使用 $0 而不是硬编码名称是很常见的,因为可以重命名或从符号链接调用程序。

于 2012-05-23T21:09:25.297 回答