![运行 shell 脚本:如何在输出中包含命令,就像交互键入一样](https://linux22.com/image/169349/%E8%BF%90%E8%A1%8C%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%9A%E5%A6%82%E4%BD%95%E5%9C%A8%E8%BE%93%E5%87%BA%E4%B8%AD%E5%8C%85%E5%90%AB%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%B0%B1%E5%83%8F%E4%BA%A4%E4%BA%92%E9%94%AE%E5%85%A5%E4%B8%80%E6%A0%B7.png)
我如何运行/获取 shell 脚本(bash 如果重要的话)并获得输出包括脚本中的命令?我想将输出重定向到文件,如下所示
$ ./my_script > output.txt
并使output.txt
文件包含脚本中的命令,就好像我以交互方式将其内容输入到终端中,然后将终端窗口的内容复制粘贴到文件中一样。
使命令在视觉上与输出行不同的解决方案的奖励点,例如在带有前面的终端中$
。
答案1
在脚本中,在任何命令之前添加以下行(这会在执行每个命令之前将其写入 stderror):
set -x
然后启动你的脚本:
./my_script > output.txt 2>&1