我有一个执行程序并将输出定向到日志文件的脚本。
./a.out --option 1 > log.txt
./a.out --option 2 >> log.txt
...
我想指导执行的命令行( " ./ a.out - 选项1"," ./ a.out - 选项1",...)到同一个日志文件,以便我可以区分哪个输出是针对哪个命令。 可能吗?我可以添加" echo命令"但它似乎不是一个好方法,因为我必须写两次相同的字符串并可能犯错。
这似乎微不足道,但我在谷歌或类似的问题上找不到:(所以请让我问这里。提前致谢!
答案 0 :(得分:2)
你可以创建一个函数:
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
答案 1 :(得分:0)
您可以按顺序放置命令,如下所示:
( cmd1 ; cmd2 ; cmdn ) > file