如何处理变量中的变量并保持引用逻辑

时间:2019-05-06 17:03:36

标签: linux bash variables whitespace quote

环境:Ubuntu 18.04。我正在尝试使用多个选项卡启动xfce4-terminal。选项卡的数量将改变,因此我必须构建一个将所有参数传递给xfce4-terminal的字符串。

#!/bin/bash
xfce4Args="--disable-server --hold --minimize" 
Acq="ls -R"
OPTIONS="-R"
Ser="--title=Pre --command=ls ${OPTIONS}"
xfce4-terminal  ${xfce4Args} --title="Acq" --command="${Acq}" \
--tab ${xfce4Args} "${Ser}" 

--command的参数必须在双引号之间,以确保xfce4-terminal可以看到它一个参数事件,尽管它可能包含空格。因此,对于--command =“ $ {Acq}”来说,它可以正常工作。对于第二个选项卡,$ {Ser}不起作用。如果Ser不包含--title = Per的空格分隔符,则它将起作用,因为“ $ {Ser}”成为可以理解的一个参数。但是使用--title = Per时,参数不再被理解为单独的参数。

即使我阅读了有关该主题的书,我仍然无法提出可行的解决方案。我本打算尝试使用eval,但似乎太失望了,决定四处询问。

0 个答案:

没有答案