我有一个执行程序并将输出定向到日志文件的脚本。
./a.out --option 1 > log.txt
./a.out --option 2 >> log.txt
...
我想引导执行的命令行( "./a.out --option 1 ", "./a.out --option 1 ",...) 到同一个日志文件,以便我可以区分哪个输出是针对哪个命令的。 是否可以?我可以添加“echo 命令”,但这似乎不是一个好方法,因为我必须编写相同的字符串两次,并且可能会出错。
这看起来微不足道,但我在 Google 上找不到或类似的问题:(所以请让我在这里问。提前致谢!
最佳答案
您可以创建一个函数:
my_command() {
{ echo "Option $1"; ./a.out --option "$1"; } >> log.txt
}
my_command 1
my_command 2
如果你想存储整个命令行,你可以使用变量:
my_command() {
local cmd="./a.out --option $1"
{ echo "$cmd"; $cmd; } >> log.txt
}
my_command 1
my_command 2
关于bash - 是否可以使用 bash 在脚本中直接执行命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33053456/