是否可以使用bash在脚本中指示执行的命令?

时间:2015-10-10 11:27:06

标签: bash ubuntu

我有一个执行程序并将输出定向到日志文件的脚本。

./a.out --option 1  > log.txt
./a.out --option 2 >> log.txt
...

我想指导执行的命令行( " ./ a.out - 选项1"," ./ a.out - 选项1",...)到同一个日志文件,以便我可以区分哪个输出是针对哪个命令。 可能吗?我可以添加" echo命令"但它似乎不是一个好方法,因为我必须写两次相同的字符串并可能犯错。

这似乎微不足道,但我在谷歌或类似的问题上找不到:(所以请让我问这里。提前致谢!

2 个答案:

答案 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