我正在尝试将双引号中的空格分隔变量传递给make命令
cat test.sh
test1="\"localvar1 localvar2\""
make -j8 SAN_TAR="$test1"
但是shell将其作为
执行make -j8 'SAN_TAR="localvar1 localvar2"' #single quote between san_tar
有没有办法可以像
那样传递它make -j8 SAN_TAR="localvar1 localvar2"
提前致谢
答案 0 :(得分:0)
不要在字符串中加上引号。
test1="localvar1 localvar2"
make -j8 SAN_TAR="$test1"
$test1
周围的引号将参数保持为单个字符串。
如果在需要单个字符串的地方的makefile中扩展SAN_TAR
,可以在其中加入单引号:
test1="'localvar1 localvar2'"
make -j8 SAN_TAR="$test1"