我有以下的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