【问题标题】:Is it possible to display the commands being executed when running a .sh script in the terminal [duplicate]在终端中运行 .sh 脚本时是否可以显示正在执行的命令[重复]
【发布时间】:2013-08-13 06:35:47
【问题描述】:

我有一个带有命令的可执行 bash 文件。

这些文件似乎没有显示终端执行行时正在执行的内容。

有没有办法显示正在执行的行?

【问题讨论】:

  • @Dummy Code,你的意思是写两次?一个用于执行,一个用于回显?

标签: python linux bash terminal


【解决方案1】:

您必须使用 bash 的调试选项,bash -x HelloWorld.sh #!/bin/bash -x

这将产生以下输出...

+ echo 'Hello, World!'
Hello, World!

查看更多here

【讨论】:

  • 也试试-v 标志。我经常发现它比-x 更方便。您可以将它们结合起来,但这通常是多余的。
  • @tripleee 我不喜欢它打印所有内容而不仅仅是命令。
【解决方案2】:

另一种选择是将set -x 添加到您希望执行以开始调试的脚本中。您也可以使用set +x 停止。

例子:

#!/bin/sh
set -x
echo "This will be debugged"
set +x
echo "This will not be debugged"

【讨论】:

    猜你喜欢
    • 2018-01-30
    • 2023-03-13
    • 2010-12-11
    • 1970-01-01
    • 2011-04-13
    • 1970-01-01
    • 1970-01-01
    • 2020-09-03
    • 2016-04-05
    相关资源
    最近更新 更多