【发布时间】:2018-02-14 19:54:24
【问题描述】:
我有以下 shell 脚本来构建一些东西:
#!/bin/bash -x
SRC_DIR=$1
cd $SRC_DIR
rm CMakeCache.txt
cmake \
-DCGAL_DIR=/src/path \
-DCMAKE_CXX_FLAGS=" -frounding-math -std=c++11 " \
-DTBB_INSTALL_DIR=/tbb/dir \
-DTBB_ARCH_PLATFORM=tbb_arch \
.
make VERBOSE=1
现在,选项 -x 将显示脚本发出的命令。对cmake 的调用如下所示:
cmake -DCGAL_DIR=/src/path '-DCMAKE_CXX_FLAGS= -frounding-math -std=c++11 ' -DTBB_INSTALL_DIR=/tbb/dir -DTBB_ARCH_PLATFORM= tbb_arch 。
处理调用时没有错误消息,但是请注意-DCMAKE_CXX_FLAGS=... 周围的单引号'。
他们来自哪里?它们的作用是什么?
【问题讨论】:
-
当
bash找到包含空格的参数时,单引号会显示在跟踪输出中。