私が何かを構築するために、次のシェルスクリプトを持っている:今なぜこのシェルスクリプトは一重引用符をコマンドに挿入しますか?
#!/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の-DCGAL_DIR =/SRC /パス '-DCMAKE_CXX_FLAGS = -frounding-数学 -std = C++ 11' -DTBB_INSTALL_DIR =/TBB/DIR -DTBB_ARCH_PLATFORM = tbb_arch:次のように
cmake
への呼び出しが見えます。
呼び出しがエラーメッセージ、なく処理されているが、は、単一引用符に-DCMAKE_CXX_FLAGS=...
周り'
を観察します。
彼らはどこから来たのですか?その効果は何ですか?
'bash'が空白を含む引数を見つけたときに、単一引用符がトレース出力に表示されます。 – anubhava