我想將一些參數放入變量f.e.如何將命令行參數保存在變量中並將它們傳遞給命令
CFLAGS=-c --sysroot=$sysroot
但bash抱怨說它找不到文件--sysroot ...爲什麼?我怎樣才能把這個參數放入變量中,並將它們傳遞給程序。
此外,我想這樣做:
for dir in ${include_dirs[*]};
do
CFLAGS=$CFLAGS "-I$dir"
done
但如預期那樣也不能正常工作。
編輯:一種解決方案
CFLAGS=("-c" "--sysroot=$sysroot")
,並在環
CFLAGS=("${CFLAGS[0]}" "-I$dir")
我想知道是否有可能是一個比較明顯的解決方案。
'--sysroot'錯誤後的'...'部分是什麼? – beroe
我將其他部分添加到變量 – SACO
您幾乎第一次做對了。只需要2次更改。 'CFLAGS =「 - c --sysroot == $ sysroot」',並在循環中'CFLAGS =「$ CFLAGS -I $ dir」'。由於在爲變量分配值時存在空格,因此您的原始發佈會在兩個地方都會發生。通過將引號內的空格括起來,問題就解決了。 – alvits