我正在从bash运行应用程序,像这样

./app_name var1 var2 $var3

其中var3--a b, --c d,而bd不包含空格。

现在,我想向--e f添加参数$var3,但是f包含空格。问题是我试图避免在此行中进行更改。
./app_name var1 var2 $var3

如果我这样保留它,app_namef的两个部分理解为两个不同的参数,因此它无法解析。

我可以以某种方式更改var3以便不将f拆分为两个不同的参数吗?我曾尝试将引号放入其中,以避开空格,但这无济于事。

最佳答案

您可以通过将var3设置为数组来实现此目的,例如:

var3=(--a b --c d --e "f1 f2")

./app_name var1 var2 "${var3[@]}"

这样f1 f2将被视为单个参数。

关于linux - 空间作为参数从bash编程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40566402/

10-10 18:23