在bash中的make命令中传递空格分隔的字符串

时间:2017-06-19 19:49:17

标签: bash

我正在尝试将双引号中的空格分隔变量传递给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"

提前致谢

1 个答案:

答案 0 :(得分:0)

不要在字符串中加上引号。

test1="localvar1 localvar2"
make -j8 SAN_TAR="$test1"

$test1周围的引号将参数保持为单个字符串。

如果在需要单个字符串的地方的makefile中扩展SAN_TAR,可以在其中加入单引号:

test1="'localvar1 localvar2'"
make -j8 SAN_TAR="$test1"