如何讓script一直loop到執行成功? - Linux

Jacob avatar
By Jacob
at 2015-08-02T09:19

Table of Contents

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)

--
Tags: Linux

All Comments

Ina avatar
By Ina
at 2015-08-06T13:04
echo的exit value是0,要先存下 passwd 的exit value
Victoria avatar
By Victoria
at 2015-08-08T13:48
請問要如何存?因為有好幾個指令接著跑,不能存到上一個
指令的recurn value
Ida avatar
By Ida
at 2015-08-10T15:23
retval=1; if [ "$retval" -gt 0 ]; then echo "..."
Emma avatar
By Emma
at 2015-08-11T13:10
passwd $2; retval=$?; [ "$retval" = 0 ] || echo ...
Isabella avatar
By Isabella
at 2015-08-13T02:22
fi
Odelette avatar
By Odelette
at 2015-08-13T13:13
再把 if ... then ... fi 改成 while ... do ... done
Robert avatar
By Robert
at 2015-08-15T00:32
passwd這行改成: passwd $2 || echo ... && break;
Adele avatar
By Adele
at 2015-08-15T10:36
感謝你,成功,不過最後一行break是否沒必要?不然會跳掉。

新手用usb安裝ubuntu

Damian avatar
By Damian
at 2015-08-01T01:43
※ 引述《AlibabaLin (clluibl2345)》之銘言: : 各位好 : 我剛剛想用usb 變成live usb將筆電重新灌成ubuntu : 當電腦插著隨身碟的時候,灌ubuntu都很順利 : 結果到了要重新啟動的部分 : 當它在重新啟動的時候總會出現四個選項 : 分別是 : try ubunt ...

關於 live USB 一問

Christine avatar
By Christine
at 2015-07-31T22:38
※ 引述《qas612820704 (Lego)》之銘言: : 請問一個隨身碟有沒有辦法擁有多個安裝碟 : 不然我每次重新裝機就要把隨身碟重刷成其他的安裝碟 : 在隨身碟不夠的情況下 : 每次都要在Win10 Win7 Archlinux Debian 之間裝來裝去 : 請問有沒有辦法把讓 grub 之類的東 ...

新手用usb安裝ubuntu

Enid avatar
By Enid
at 2015-07-31T20:59
各位好 我剛剛想用usb 變成live usb將筆電重新灌成ubuntu 當電腦插著隨身碟的時候,灌ubuntu都很順利 結果到了要重新啟動的部分 當它在重新啟動的時候總會出現四個選項 分別是 try ubuntu without installing install ubuntu OEM u ...

fedora 18 yum 異常

Yedda avatar
By Yedda
at 2015-07-30T21:57
最近灌完fedora 18 想要玩一下 不過在用yum就出現這些錯誤代碼 http://i.imgur.com/Zegdd6O.jpg?1 小弟不太懂 也不知道怎麼解決 請哪位大大可以幫我一下嗎? - ...

F18以上gnome-panel隱藏

Rachel avatar
By Rachel
at 2015-07-30T11:12
就是有沒有指令可以操作把gnome-panel藏起來, 甚至暫時性的砍掉process都可以 以往在Fedora 16以前,可以在工作列表裡找到gnome-panel, 可以把panel刪掉或是重建起來,但是Fedora 18之後好像沒效了, 求救,謝謝。 - ...