在KSH中有一種方法可以退出case語句並轉到特定行以便下次執行代碼?或者有可以使用的轉讓標籤?像這樣的東西,而不是嵌套噸分支?在UNIX KSH腳本中是否存在「Goto」?
2
A
回答
2
沒有標籤或轉到。但是,你可以通過一個數字來退出深層嵌套循環的「斷裂」內置:突破200退出兩個層次,打破3,退出三個層面等
3
雖然它總是幫助張貼一個簡單的例子您的問題(但涵蓋了你所期望的所有意外事故),給您的評論回覆標記爲已讀,你可以用輸入到while循環的提示,像
while ${keepTrying:-true} ; do
echo "enter Yes or No"
read yOrN
case "${yOrN} in
[Yy]*)
# do something
keepTrying=false
;;
[Nn]*)
# do something else
keepTrying=false
;;
*)
echo "bad input"
;;
esac
done
# continue with script
# ....
而且,我同意馬克,沒有標籤或在ksh gotos。
我希望這會有所幫助。
0
有一個bash轉到實施,如果你要適應它的ksh(我至今沒有)
#!/bin/bash
function gowto
{
label=$1
# works in Linux bash, but barks in ksh
cmd=$(sed -n "/#$label:/{:a;n;p;ba};" $0 | grep -v ':$')
#
eval "$cmd"
exit
}
echo step 1
gowto skip
echo To be skippped
#skip:
echo Step 2
相關問題
- 1. Unix Shell腳本(KSH)
- 2. 是否需要在Unix中執行KornShell(ksh)腳本的權限設置?
- 3. 在ksh shell腳本中運行腳本
- 4. 在unix中重複stderr,ksh特別是
- 5. ksh腳本存在的文件
- 6. 是否存在兼容Windows/Unix腳本的文件擴展名?
- 7. 如何在KSH腳本中啓用TAB
- 8. 檢查文件是否存在ksh
- 9. 將unix中的ksh腳本遷移到linux
- 10. Unix ksh驗證
- 11. UNIX ksh編程
- 12. ksh腳本優化
- 13. Ksh和Vi腳本
- 14. shell腳本在UNIX
- 15. 存儲()在UNIX shell腳本的變量
- 16. 我是誰運行/執行在我的Windows XP桌面上保存的unix shell(ksh)腳本
- 17. 爲什麼行#!/ bin中/ KSH是在shell腳本
- 18. 編譯的PHP腳本是否存在?
- 19. 檢查腳本是否存在頁面
- 20. 在後臺運行前臺ksh腳本
- 21. 用科學-進制在shell腳本(KSH)
- 22. 在ksh中使用GOTO返回已處理的代碼
- 23. 來自unix ksh腳本的分段錯誤
- 24. 如何從KSH Unix腳本通過SFTP發送多個文件
- 25. 是什麼意思〜在unix Shell腳本
- 26. 檢查文件中是否存在字符串(ksh)
- 27. 用於檢查是否存在同名文件或目錄的Unix shell腳本
- 28. Shell腳本在bash中工作,但不在ksh中
- 29. 獲取昨天日期 - KSH腳本
- 30. KSH腳本對結果
爽!謝啦。我試圖讀取用戶輸入的yes或no值,如果他們輸入no,我想返回到相同case語句的原始echo/input(即輸入您的姓名,$ user是正確的(Y/N )?)。但我認爲我可能正在構建這個錯誤......無論哪種方式,我很感激它!再次感謝。 – Justin