2014-02-10 64 views
2

我不知道我做錯了,但是這個代碼就是不爲我工作:值未分配給變量在shell腳本

mode="-P" 
select mmode in "default" "fast"; do 
    case $mmode in 
     default) break;; 
     fast) mode="-T 2C -P" break;; 
    esac 
done 

echo $mode 

輸出始終是「-P」。 有人請告訴我問題在哪裏,提前謝謝!

回答

3

失蹤;導致它。說:

fast) mode="-T 2C -P"; break;; 
+0

哦,上帝,我知道這將是一個小東西,就像這樣:D謝謝你的快速解決方案! – kennyevo

+1

@kennyevo';'不是一件小事。它是一個命令分隔符:) – devnull

+0

'var = value cmd'是正確的,但不同於'var = value; cmd':在第一種情況下,'var'只存在於'cmd'。這對於'IFS =:read ...'或者'LANG = C文件...'這樣的東西是非常有用的。' –