在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中执行KornShell(ksh)脚本的权限设置?
- 2. 在unix中重复stderr,ksh特别是
- 3. 如何在KSH脚本中启用TAB
- 4. 检查文件是否存在ksh
- 5. 将unix中的ksh脚本迁移到linux
- 6. Unix ksh验证
- 7. UNIX ksh编程
- 8. 如何检查Docker是否安装在Unix shell脚本中?
- 9. ksh脚本优化
- 10. Ksh和Vi脚本
- 11. 存储()在UNIX shell脚本的变量
- 12. 我是谁运行/执行在我的Windows XP桌面上保存的unix shell(ksh)脚本
- 13. 为什么行#!/ bin中/ KSH是在shell脚本
- 14. 检查脚本是否存在页面
- 15. 编译的PHP脚本是否存在?
- 16. 在后台运行前台ksh脚本
- 17. 用科学-进制在shell脚本(KSH)
- 18. 在ksh中使用GOTO返回已处理的代码
- 19. 来自unix ksh脚本的分段错误
- 20. 如何从KSH Unix脚本通过SFTP发送多个文件
- 21. 检查文件中是否存在字符串(ksh)
- 22. 用于检查是否存在同名文件或目录的Unix shell脚本
- 23. Shell脚本在bash中工作,但不在ksh中
- 24. 获取昨天日期 - KSH脚本
- 25. KSH脚本,对于循环
- 26. 包装bash脚本调用KSH脚本,但挂在功能
- 27. SharpSsh - 脚本在csh和ksh中运行两次
- 28. MOD(%)不是标识符的Unix的ksh
- 29. Javascript - 检查文本/模板脚本中是否存在字段
- 30. 检查是否存在两个文件(在shell脚本中)
爽!谢啦。我试图读取用户输入的yes或no值,如果他们输入no,我想返回到相同case语句的原始echo/input(即输入您的姓名,$ user是正确的(Y/N )?)。但我认为我可能正在构建这个错误......无论哪种方式,我很感激它!再次感谢。 – Justin