在shell脚本中如何将命令打印到文件并显示命令? [重复]

问题描述 投票:0回答:1

我的 shell 脚本中有多个

ls -l
命令,我希望每一行将其输出附加到文本文件中,所以我像这样运行它:

ls -l /directory/to/check/exists >> validation.log

该文件将仅显示输出,但我也希望它显示已执行的命令。 如何在不添加命令和同一命令的

echo
以避免多行的情况下获得此功能?

谢谢你

bash shell unix
1个回答
0
投票

您可以使用 bash 函数:

run() {
    echo "$@"
    "$@"
}

run ls -l /directory/to/check/exists >> validation.log

它的优点是可以让您根据需要格式化命令,例如

echo ">> $@"

© www.soinside.com 2019 - 2024. All rights reserved.