.bat等价物是:
:one
<<run program>>
goto :two
:two
<<run program>>
goto :one
end
.sh可以这样做吗?
答案 0 :(得分:2)
实际上没有确切的替代品。在bash
编程中,您可以定义函数,因此您可以执行类似
one() {
# Some stuff
two
}
two() {
# Some more stuff
one
}
虽然最终会耗尽堆栈空间;希望在某些情况下您可以使用代码来停止递归。我意识到这只是一个稻草人的例子,但是bash
会让你在这里使用其他形式的循环,这样可以更好地工作;例如:
while true
do
# Some stuff
# Some more stuff
done
答案 1 :(得分:0)
Unix shell允许结构化编程,因此不需要goto
。
while true; do
<<some things here>>
<<more things here>>
done
答案 2 :(得分:0)
使用goto语句尝试完成的任何内容都可能在bash中没有它表达,特别是通过编写函数或使用无限循环(以一种突破它的方式)。顺便说一下,你写的伪代码最终会崩溃,除非你有一个或两个指定的退出条件