market_l="${echo $1 | awk '{print tolower($0)}'}"
echo $market_l
當我執行這個它給我下面的錯誤:什麼不對這個shell腳本
./test: market_l="${echo $1 | awk '{print tolower($0)}'}": The specified substitution is not valid for this command.
market_l="${echo $1 | awk '{print tolower($0)}'}"
echo $market_l
當我執行這個它給我下面的錯誤:什麼不對這個shell腳本
./test: market_l="${echo $1 | awk '{print tolower($0)}'}": The specified substitution is not valid for this command.
您的意思是使用$()
操盤${}
?
您應該使用$()
將輸出分配給變量。不${}
market_l="$(echo $1 | awk '{print tolower($0)}')"
,或者你可以用KSH做
#!/bin/ksh
typeset -l market_l
market_l="$1"
echo $market_l
其他方式改變的情況下,除了awk
,僅供參考
$ echo "$1"|tr [A-Z] [a-z]
$ echo "$1"|sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'
不要忘記使用引號:'「$ 1」'。除非你特別不想,否則總是引用。 – 2010-03-30 10:21:33
實際上在這個例子中,由於echo的輸出是相同的,所以它不會使用引號。但是,是的,你有權在必要時總是使用引號。 – ghostdog74 2010-03-30 10:42:32
我想轉換提供的$ 1參數在執行腳本將其小寫並存儲在一個變量中,然後回顯。 – Vijay 2010-03-30 06:57:37
我認爲你是對的。感謝提示。 – Vijay 2010-03-30 06:58:41