是否可以使用bash在脚本中直接执行命令?

是否可以使用bash在脚本中直接执行命令?,bash,ubuntu,Bash,Ubuntu,我有一个脚本,它执行一个程序并将输出定向到一个日志文件 ./a.out --option 1 > log.txt ./a.out --option 2 >> log.txt ... 我想指导执行的命令行( “/a.out--option 1”、“/a.out--option 1”、…)添加到同一个日志文件中,以便我可以区分哪个命令的输出。 可能吗?我可以添加“echo命令”,但这似乎不是一个好方法,因为我必须编写两次相同的字符串,并且可能会出错 这看起来很琐碎,但我在谷歌或

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

./a.out --option 1  > log.txt
./a.out --option 2 >> log.txt
...
我想指导执行的命令行( “/a.out--option 1”、“/a.out--option 1”、…)添加到同一个日志文件中,以便我可以区分哪个命令的输出。 可能吗?我可以添加“echo命令”,但这似乎不是一个好方法,因为我必须编写两次相同的字符串,并且可能会出错


这看起来很琐碎,但我在谷歌或类似的网站上找不到:(请让我在这里问一下。提前谢谢!

您可以创建一个函数:

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

您可以按顺序放置命令,如下所示:

( cmd1 ; cmd2 ; cmdn ) > file

@gniourf\u gniourf该常见问题解答中没有一个答案能够解决此用例。
cmd=“/a.out--option$1”
:您正在将命令放入变量中。该常见问题解答如何解决此问题?@gniourf\u gniourf我说的是“该常见问题解答中的答案”。如果您认为其中一个答案适用,请告诉我是哪一个。将命令存储在变量中是一种反模式。这里您处理的是同一个命令的选项。applications@gniourf_gniourf True,我们可以使用数组。我跳过了该部分,因为此代码中没有运行时依赖项。它是静态的。