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

标签 bash ubuntu

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

./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/

相关文章:

bash - 无法运行安装后脚本

python - 导入错误: No module named 'pygame' on Ubuntu

ruby - Ubuntu 8.10 上的 Phusion 乘客 : how to setup gem directory and users?

java - 使用java代码更改ubuntu系统时间

ubuntu - 如何从运行在 Java 11 上的 Jenkins 卸载 ruby​​-runtime 插件

linux - 检查 bash 的安装包

linux - 使用 Netcat 将二进制文件(逐行)发送到套接字服务器

perl - 按修改日期对任何随机文件列表进行排序

Linux Bitnami Ubuntu 上未进行 Php.ini 更改

python 3.5 - 脚本终止后 subprocess.run 仍在运行