[問題] script使用case如何判斷非空值執行腳本已刪文

看板Linux作者 (呱呱嘎嘎啦啦花花)時間6年前 (2019/03/22 20:49), 6年前編輯推噓7(708)
留言15則, 6人參與, 6年前最新討論串1/1
討論群 ++ https://line.me/R/ti/g/vH0z7wyxGl ====我是分隔線=== case $activity_id in "12") 執行aaaaaa ;; "NA") 執行bbbbbbb ;; esac 請問各位大大兩個判斷式" "裡面一定要固定值嗎? 如果我只想判斷 $activity_id不是空值就執行aaaaaa 空值就執行bbbbb的話該怎麼改呢? 謝謝<(_ _)> -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.238.40.134 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1553258959.A.010.html

03/22 21:02, 6年前 , 1F
你的好朋友else呢
03/22 21:02, 1F
case 還需要用else嗎QQ?

03/22 21:30, 6年前 , 2F
不一定,裡面可以放變數,通常最後一項會放 * 處理上面沒
03/22 21:30, 2F

03/22 21:30, 6年前 , 3F
有列舉到的所有其他狀況
03/22 21:30, 3F
不好意思 不太懂~~~~ 這是舉例拉 我想了解 in (目前是12 & NA)後面要怎麼放判斷式 可以判斷是不是空值的QQ

03/22 22:25, 6年前 , 4F
case $x in '') echo empty;; *) echo nonempty;; esac
03/22 22:25, 4F
成功惹!!! 但是空值要用 "") 才行~ ※ 編輯: lifeissuck (36.238.40.134), 03/23/2019 00:22:05

03/23 18:09, 6年前 , 5F
一樓是說判斷空值可以直接用 if else ,不用用到 case
03/23 18:09, 5F

03/23 19:43, 6年前 , 6F
case 前用個 if [ -z 值 ] ; then 就好了吧
03/23 19:43, 6F

03/23 21:41, 6年前 , 7F
感謝樓上上幫圓 實際上是我完全不知道case不能else
03/23 21:41, 7F

03/23 22:54, 6年前 , 8F
題外話 case 後面變數也要用 "" 包起來避免引發問題
03/23 22:54, 8F

03/23 23:30, 6年前 , 9F
緊接在 case 後面的那一項不會經過 word splitting 吧?
03/23 23:30, 9F

03/23 23:35, 6年前 , 10F
不過在 shell 裡遇到變數就用 "" 包起來也是個好習慣
03/23 23:35, 10F

03/25 21:46, 6年前 , 11F
不知原PO是什麼情況, 要 "") 才行 => 意思 '') 不行 ?
03/25 21:46, 11F

03/25 21:48, 6年前 , 12F
我這邊使用 '') 是沒問題的. 另外, case $x 實測不用 "" 包.
03/25 21:48, 12F

03/25 21:53, 6年前 , 13F
就如 lantw44 大所說, case 後的 word 不做 word splitting.
03/25 21:53, 13F

03/25 22:01, 6年前 , 14F
只想到這類情況, sh -c 'case ... esac' 時, 當然 '') 會錯.
03/25 22:01, 14F
可能環境吧 我的不是真的linux主機 還是虛擬機 DevOps用linux 指令去下command line執行腳本 因為後面可能還會增加很多需求拉 保留彈性 想說case可能比較符合XD 我只用''的話會被當字串處裡的樣子 像case裡面的變數 我要用這樣包 才能讀到變數"'${XXXX}'" ※ 編輯: lifeissuck (36.239.131.176), 03/26/2019 00:21:13

03/26 21:17, 6年前 , 15F
一個有看沒有懂的環境. 虛擬機裏不是 Linux? 或是指令下法怪?
03/26 21:17, 15F
順便請問大大 有類似的linux討論群組可以加嗎? 哈哈哈哈哈 其實我也不知道這個算甚麼 才剛接觸而已 看圖比較快 他有好幾種引擎可以選 只是我們要串其他環境所以用linux 疑....我記得當初遠的時候是寫 macOS & linux 現在只跑出macOS https://imgur.com/DsCQY6s
※ 編輯: lifeissuck (60.249.242.109), 03/27/2019 14:30:06 ※ 編輯: lifeissuck (60.249.242.109), 03/28/2019 15:58:42
文章代碼(AID): #1SbDdF0G (Linux)
文章代碼(AID): #1SbDdF0G (Linux)