我認爲這將是容易的,但我已經浪費在這幾個小時。調用帶有空格的命令行自變量在bash腳本
我想從一個bash腳本中運行以下命令的CMake。在終端我鍵入
cmake -G "Unix Makefiles" .
和它的作品。如果我將它完全複製到bash腳本中,它也可以工作。
但劇本是爲了在多個平臺上工作,它可能是「MSYS Makefile文件」,而不是「Unix的Makefile文件」。因此,我想將命令放在一個變量中,其中的內容取決於平臺並執行它。然而,這是我陷入困境的地方。我嘗試了所有我能想到的單引號或雙引號的組合,但沒有成功。
我要的是沿線
c="cmake . -G \"Unix Makefiles\""
exec $c
的東西,但它始終會導致以下一些變化:
CMake Error: Could not create named generator "Unix
我意識到,我可以做
if test [... this is unix ...]
cmake . -G "Unix Makefiles"
else
cmake . -G "MSYS Makefiles
fi
但由於這個電話必須進行多次,我寧願避免它。
有什麼建議嗎?
從那裏接受的答案做了我的伎倆。 – 2017-03-13 19:25:48