[問題] bash case..in問題

看板Linux作者 (品之)時間13年前 (2012/08/14 01:24), 編輯推噓1(1011)
留言12則, 4人參與, 最新討論串1/1
hello大家好, 我是bash新手。我寫了一個簡單的case ..in迴圈,執行之後卻沒有產生任何預期的 檔案。以下是簡略版,可以請各位給些意見嗎? 當我sh -x的時候每一步都有跑到,sh -n 語法沒有問題。整個資料夾跟script的屬性 都是777。 ####################################### #!/bin/bash cd /home/123 case ${X} in "1") cat << EOF > group_min_l${X} AAAA_${X} EOF cat << EOF > mdin_min_v0_l${X} &cntrl imin = 1, clambda = 0.00922, EOF ;; "2") cat << EOF > group_min_l${X} bbb_${X} EOF cat << EOF > mdin_min_v0_l${X} &cntrl imin = 1, clambda = 0.04794, EOF ;; esac #################################### -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 128.248.130.211

08/14 01:31, , 1F
${X}是什麼? 只有X=1or2時, script才會做事啊
08/14 01:31, 1F

08/14 01:46, , 2F
${X}是變數
08/14 01:46, 2F

08/14 01:47, , 3F
我剛才把${X}全部取帶成$X 也還是沒有用...
08/14 01:47, 3F

08/14 01:47, , 4F
我的意思是:你變數裡放了什麼?
08/14 01:47, 4F

08/14 02:09, , 5F
我沒有定義${X}
08/14 02:09, 5F

08/14 02:10, , 6F
像bash的for do in迴圈是for ${X} in 1 2 3
08/14 02:10, 6F

08/14 02:11, , 7F
所以我看了說明case ${X} in 然後 "1") ;; "2");; esac
08/14 02:11, 7F

08/14 02:11, , 8F
" ")裡面就是${X}裡放得東西?
08/14 02:11, 8F

08/14 08:13, , 9F
那X 要怎得知他本身是1 or 2 ?
08/14 08:13, 9F

08/14 08:54, , 10F
不是... case比較像一串if...elif...elif的東西
08/14 08:54, 10F

08/14 08:54, , 11F
然後case可以用wildcard
08/14 08:54, 11F

08/14 15:24, , 12F
最近我也很認真的啃bash的書了= =
08/14 15:24, 12F
文章代碼(AID): #1GAJWqaR (Linux)