我有以下的shell脚本建立的东西:这个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 /路径 '-DCMAKE_CXX_FLAGS = -frounding-数学 -std = C++ 11' -DTBB_INSTALL_DIR =/TBB/DIR -DTBB_ARCH_PLATFORM = tbb_arch 。
该呼叫被不显示错误信息进行处理,但观察单引号'
周围-DCMAKE_CXX_FLAGS=...
。
它们来自哪里?他们的效果是什么?
当'bash'发现包含空格的参数时,单引号显示在跟踪输出中。 – anubhava