Bash脚本双引号

时间:2014-10-03 14:44:27

标签: bash

我遇到了bash脚本的问题,需要寻求帮助。该脚本如下:

#!/bin/bash
config_options="CFLAGS=\"-Wall -pipe\""
./configure --prefix=$PWD/install $config_options

如果我使用运行此脚本,我收到错误“无法识别的选项-pipe”。但是,如果我直接使用以下命令,它的工作原理。

./configure --prefix=$PWD/install CFLAGS="-Wall -pipe"

我的理解是这个命令和bash脚本是完全一样的,因为我已经把“转义字符”放在“。之前。我不知道为什么这个脚本会出错。

如果您需要更多信息,请与我们联系。

谢谢!

1 个答案:

答案 0 :(得分:3)

您不能在像这样的字符串变量中传入命令行选项。您可以改为使用BASH数组:

#!/bin/bash
config_options=(CFLAGS="-Wall -pipe")
./configure --prefix=$PWD/install "${config_options[@]}"