下面這 能跑嗎? 不行吧?
最近發現幾個scripts中的變數怪怪的.測試後發現和我觀念和書中不同 其實是有一些特例存在,只是可能被疏忽 慢慢整理出來,如有錯誤,請大家指正 此為第1部份,其餘再傳上來 k=1;k1=k ech '${'”$k1”'}'=> ${k} * 已修正好 echo '${'$k1'}' => ${k} echo '”$k1”' => “$k1” echo ''$k1'' => k echo '$k1'$k1'' => $k1k 結論 : ' $a $c ' 單數個單引號內變數不替換 ''$a '$b '$c ''$d' '偶數個單引號內變數可替換 $a $c $d 不轉換 $b 可轉換 : $ { } 括號內視作變數代號 ${k1} =k : ${ $k1} => 錯誤 因為 $k1 視為變數代號,實際無 $k1 可在利用 eval 處理 '${'”$k1”'}' 得到的 ${k} 使成為echo ${k} 謝謝指正 GNU bash, version 3.1.17(2)-release (i586-mandriva-linux-gnu) Copyright (C) 2005 Free Software Foundation, Inc. echo '${'”$k1”'}"'=> ${k} 不對稱符號為輸入錯誤現已修改 因本人還並不熟係linux,故表達可能不完全,需大家指正 謝 [LSO 在 2007-8-23 08:57 PM 作了最後編輯]