看板 Linux 關於我們 聯絡資訊
while [ "$?" == "0" ] do echo 輸入FTP要用的密碼兩次\(記得要按enter\),兩次要一樣 passwd $2|| echo 錯誤7,兩次密碼要一樣。如果重新輸入密碼還是錯誤,就按 ctrl+C跳出 done 大概像上面這樣,我想把新ID的FTP、網芳的密碼設定統合成一個script, 但是因為不希望一個輸入錯誤,就要別的使用者重頭跑一遍,所以想用loop 在改失敗的時候loop回去重新輸入。 不過我這樣失敗了,不管成不成功,都會一直回去改密碼,反過來用until, 則是甚麼動作都沒有執行。請問這部分應該怎麼寫? -- 起初,他們追殺共產主義者,我沒有說話,因為我不是共產主義者; 接著,他們追殺猶太人,我沒有說話,因為我不是猶太人; 後來,他們追殺工會成員,我沒有說話,因為我不是工會成員; 此後,他們追殺天主教徒,我沒有說話,因為我是新教教徒; 最後,他們奔我而來,卻再也沒有人站起來為我說話了。 《First They Came(他們首次來時)》,Martin Niemoller牧師(1892-1984) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.176.35.57 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1438478387.A.131.html
kerwinhui: echo的exit value是0,要先存下 passwd 的exit value 08/02 16:45
LIAR: 請問要如何存?因為有好幾個指令接著跑,不能存到上一個 08/02 20:29
LIAR: 指令的recurn value 08/02 20:29
kerwinhui: retval=1; if [ "$retval" -gt 0 ]; then echo "..." 08/02 20:50
kerwinhui: passwd $2; retval=$?; [ "$retval" = 0 ] || echo ... 08/02 20:51
kerwinhui: fi 08/02 20:52
kerwinhui: 再把 if ... then ... fi 改成 while ... do ... done 08/02 20:53
prismwu: passwd這行改成: passwd $2 || echo ... && break; 08/02 20:59
LIAR: 感謝你,成功,不過最後一行break是否沒必要?不然會跳掉。 08/02 22:01