0
bash腳本的要素之一(正則表達式和數組相關)我應該如何讓用戶參數匹配的bash陣列
declare -A colours=([red]="0;31" [RED]="1;31")
echo -ne '\e['${colours[$1]}m
問:echoc紅世
- >這應該打印世界大膽的紅色。 我應該如何讓RED與RED匹配?
bash腳本的要素之一(正則表達式和數組相關)我應該如何讓用戶參數匹配的bash陣列
declare -A colours=([red]="0;31" [RED]="1;31")
echo -ne '\e['${colours[$1]}m
問:echoc紅世
- >這應該打印世界大膽的紅色。 我應該如何讓RED與RED匹配?
您可以使用參數擴展:
colour=${1^^*}
shift
echo -ne '\e['${colours[$colour]}m "[email protected]"
^^
變化匹配的字符爲大寫,*
比賽的所有字符。
這會將'red'轉換爲'RED',而不僅僅是'Red'(如果我正確地理解了這個問題)。 – chepner 2014-11-01 13:37:57
你問如何使'Red'匹配'RED'而不是'red'? – chepner 2014-11-01 13:38:55