显示命令与日志文件中的输出一起执行

Bra*_*sel 3 logs io-redirection shell-script

是否有一种快速而肮脏的方法不仅可以记录 shell 文件的输出,还可以记录内部使用的命令?

例如:

whoami > who.dmp

将输出一个包含以下内容的文件:

my_username

对于较长的 shell 文件,在日志文件中显示导致结果的命令的最有效方法是什么

前任:

log.txt
###############

echo whoami  <- I want this to show in the file as well
my_username

time   <- I want this to show in the file as well

real    0m0.00s
user    0m0.00s
sys     0m0.00s
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点,而无需每次都硬编码将命令导出到输出文件中?

Bru*_*ger 7

使用内置的 shellset -x可能是做到这一点的廉价而肮脏的方式。在 shell 脚本中,您经常会看到如下一行:

#set -x
Run Code Online (Sandbox Code Playgroud)

有人只是将其评论出来就留下了。我认为您可以在交互式命令行中使用它,但您可能不喜欢它在那里的作用。

  • 禁用它使用`set +x` (2认同)