bash 将字符串参数作为多个参数发送

标签 bash

所以我有一个 bash 脚本,它生成一串我想要运行的命令。输出看起来像

$程序“command1 command2 ... commandN”

但程序正在将“command1 command2 ... commandN”解释为(它应该)作为一个参数。

是否可以将字符串作为拆分参数传递给参数,以便程序将每个命令解释为单独的参数?

$ 程序 command1 command2 ... commandN

感谢您的帮助。

最佳答案

我已经完成了这个,实现了你的场景: 这个想法是使用“a b c”作为 cat

的参数
$ echo a > a
$ echo b > b
$ echo c > c
$ args="a b c"

尝试将“a b c”作为“一个参数”

$ cat $args
cat: a b c: No such file or directory

分离参数的解决方法:

$ cat $(echo $args)
a
b
c

希望对你有帮助

(所以你应该运行 program $(echo "command1 command2 ... commandN")

关于bash 将字符串参数作为多个参数发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30061682/

相关文章:

bash - awk 命令获取进程名称

linux - 如果 grep 找到匹配项,则打印 grep 关键字

linux - mkdir $HOME/错误

linux - 用于打印具有分隔符的变量的 Shell 脚本

Bash:计算与 "YYYYMMDDHH"等输入的时差(以小时为单位)

linux - 如何检查我有权读取目录中的哪些文件?

linux - 从无尽的管道狂欢中阅读

linux - 将字符串修剪到 Bash 中的某些字符

mysql - 如何在 bash 中的双引号内使用一对单引号?

linux - 继续远程 bash 脚本