作者 主題: bash shell語法一問  (閱讀 2094 次)

0 會員 與 1 訪客 正在閱讀本文。

cisco3662

  • 鑽研的研究生
  • *****
  • 文章數: 739
    • 檢視個人資料
bash shell語法一問
« 於: 2011-02-18 13:56 »
abc=123
def=456

if [ "$abc" = "123" ] && [ "$def" = "456" ] || [ "$def" = "789" ];then
        echo "ok"
else
        echo "no ok"
fi

以上判斷式,我希望abc=123以及def或ghi=456成立就echo ok
但似乎程式不是這樣判斷,故請教!!
« 上次編輯: 2011-02-18 13:59 由 cisco3662 »

HaWay

  • 大隻佬!
  • 老人組
  • 俺是博士!
  • *****
  • 文章數: 3980
    • 檢視個人資料
回覆: bash shell語法一問
« 回覆 #1 於: 2011-02-18 14:13 »
= 叫做 "令"

== 叫做 "等於"
我做人那麼 nice, 肯定有什麼誤會.....

特級大肉腳

  • 憂鬱的高中生
  • ***
  • 文章數: 113
    • 檢視個人資料
回覆: bash shell語法一問
« 回覆 #2 於: 2011-02-18 14:21 »
你的敘述很怪,程式中沒有看到ghi的定義。

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17478
    • 檢視個人資料
    • http://www.study-area.org
回覆: bash shell語法一問
« 回覆 #3 於: 2011-02-18 14:35 »
改這樣看看:

if [ "$abc" = "123"  -a \( "$def" = "456"  -o "$def" = "789"  \) ];then

sudezhong

  • 可愛的小學生
  • *
  • 文章數: 4
  • 性別: 男
    • 檢視個人資料
回覆: bash shell語法一問
« 回覆 #4 於: 2011-02-21 17:24 »
你写的代码与你所问的问题,有很大冲突。 ;)