我有一個運行curl
的腳本。如果字符串不爲空,我希望能夠有選擇地添加-H
參數。複雜的是引用和空間的級別。使用具有各種引用級別和空格的變量構建命令字符串
caption="Test Caption"
if [ "${caption}" != "" ]; then
CAPT=-H "X-Caption: ${caption}"
fi
curl -A "$UA" -H "Content-MD5: $MD5" -H "X-SessionID: $SID" -H "X-Version: 1" $CAPT http://upload.example.com/$FN
的想法是,在CAPT變量或者是空的,或包含在相同的形式他人,例如所期望的-H頭,-H "X-Caption: Test Caption"
問題運行時,它解釋該分配爲將被執行的命令:
$bash -x -v test.sh
+ '[' 'Test caption' '!=' '' ']'
+ CAPT=-H
+ 'X-Caption: Test caption'
./test.sh: line 273: X-Caption: Test caption: command not found
我已經試過代碼之前重置IFS,但它並沒有發揮作用。
這對我來說真是棒極了,非常感謝你:) –