我對bash頗爲陌生,不知何故,只是還沒有發現我在做什麼錯在這裏: (這是一個小的bash腳本調用我的發電機)如何讓bash在輸出中插入'
if [ -n $folder ]; then
$zorbalocation -q $generator -f -e files=\"$lFiles\" -e folder=\"lFolder\"
else
$zorbalocation -q $generator -f -e files=\"$lFiles\" -e folder=\".\"
fi
現在,顯然我想bash執行這些命令,具體取決於文件夾的內容。 但是,出於某種原因,bash將堅持把周圍的文件= ...和文件夾的單引號(')= ... 所以,它試圖執行的
../../../zorba/build/bin/zorba -q generator.xq -f -e 'files="test.xqlib"' -e 'folder="."'
代替
../../../zorba/build/bin/zorba -q generator.xq -f -e files="test.xqlib" -e folder="."
有人知道爲什麼bash堅持在那裏插入撇號嗎?
一個不錯的一天,大家
丹尼
問題是,我試圖用這個命令調用一個程序,並且bash將單引號放在文件= \「$ lFiles \」 之間,它被作爲參數傳遞給被調用的程序,如果它有單引號,請參考這個論點。 – user311707 2010-04-08 08:43:45
你會得到什麼錯誤? – mouviciel 2010-04-08 08:52:09
那麼,錯誤是特定於我打電話的程序(zorba),它將被稱爲 zorba -q file.xq -f -e files =「...」-e folder =「.. 「 但是,由於莫名其妙的原因,bash調用 zorba -q file.xq -f -e'files =」...「'-e'folder =」...「 這使得zorba無法正確識別參數... (我使用set -x來查看真正叫什麼) – user311707 2010-04-08 09:08:38