如何与内部有空格的其他变量一起使用变量?

问题描述

我想做这样的事情,其中​​我定义了一个变量,其扩展包含其他变量,并且这些变量可能需要用引号引起来。

CMAKE_BUILD_FLAGS=(-DCMAKE_VERBOSE_MAKEFILE=ON
                   -DCMAKE_CXX_FLAGS="-I/usr/local/include -L/usr/local/lib")

install_yaml_cpp() {
    (
        local version=0.6.2
            cd $DEPS_TMP_DIR && \
            rm -rf yaml-cpp-$version.tar.gz && \
            wget -N https://github.com/jbeder/yaml-cpp/archive/yaml-cpp-$version.tar.gz && \
            tar -v -xzf yaml-cpp-$version.tar.gz && \
            cd yaml-cpp-yaml-cpp-$version/ && \
            mkdir -p build && \
            cd build && \
            cmake ${CMAKE_BUILD_FLAGS[@]} -DYAML_CPP_BUILD_TOOLS=OFF -DYAML_CPP_BUILD_CONTRIB=OFF -DYAML_CPP_BUILD_TESTS=OFF .. && \
            make -j$(num_cpus) install
    )
}

我需要的是外壳将通过的内容解释为

cmake -DCMAKE_CXX_FLAGS="-I/usr/local/include -L/usr/local/lib" …

即就像我放入数组一样。但是,无论我如何引用和转义,它都行不通。我要么只获得空格之前的部分,要么将其传递为

cmake '-DCMAKE_CXX_FLAGS="-I/usr/local/include -L/usr/local/lib"' …

或其他一些

将带有空格和引号的嵌套变量传递到Shell脚本中的程序的正确方法是什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...