gpt4 book ai didi

bash - 如何在执行时回显 shell 命令

转载 作者:行者123 更新时间:2023-11-29 08:36:48 27 4
gpt4 key购买 nike

在 shell 脚本中,如何回显调用的所有 shell 命令并扩展任何变量名?

例如,给定以下行:

ls $DIRNAME

我希望脚本运行命令并显示以下内容

ls /full/path/to/some/dir

目的是保存所有调用的 shell 命令及其参数的日志。是否有更好的方法来生成这样的日志?

最佳答案

set -xset -o xtrace 扩展变量并在行前打印一个小 + 号。

set -vset -o verbose 在打印前不展开变量。

使用set +xset +v 关闭上述设置。

在脚本的第一行,可以输入#!/bin/sh -x(或-v),效果和一样稍后在脚本中设置 -x(或 -v)。

以上也适用于/bin/sh

请参阅 set attributes 上的 bash-hackers' wiki| , 和 debugging .

$ cat shl
#!/bin/bash

DIR=/tmp/so
ls $DIR

$ bash -x shl
+ DIR=/tmp/so
+ ls /tmp/so
$

关于bash - 如何在执行时回显 shell 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2853803/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com