版上大大大家好
小弟最近正在學習Linux中,但遇到了一個數值比對問題無法解決,懇請版上大大指點迷
津
game()
{
if [ -n 'echo ${_game_list} | grep -i " PO"' ]; then _game_id =POKEMON
if
if [ -n 'echo ${_game_list} | grep -i " HG"' ]; then _game_id =HGAME
if
}
我在_game_list 中,輸入的是GOODPOK,原本預設會出來是POKEMON,但結果是HGAME。
但如果把
if [ -n 'echo ${_game_list} | grep -i " HG"' ]; then _game_id =HGAME
if
去掉,值就是POKEMON,請問大大,是否有參數設定錯誤,導致判斷總是以後式決定呢?
還請不吝指點,萬分感謝!
echo ${_game_list} ????這是說 echo ${_game_list}嗎?你程式碼多個空白再來若取變數,那不應該用 ' ' 單引號包起來要使用雙引號包起來才會展開變數內容
作者: yvb 2016-08-17 22:25:00
if [ -n "$(echo ..." PO")" ]; then ...
另外 $() 回覆想到原帖大概是需要反單引號非一般單引號
是反單引號沒錯,手機排版打不出來了解,我再試試看不要用反單引號,用雙引號試試
應該是說若你要執行命令,要用反單引號 or $() 才可以我一開始回應內容沒注意到你是需要執行外部命令所以 yvb 回應比較正確