你如何进入MAC shell(就像Windows中的.bat)



.bat的等效格式为:

:one
<<run program>>
goto :two
:two
<<run program>>
goto :one
end

.sh可以这样做吗?

实际上没有确切的替换。在bash编程中,您可以定义函数,因此您可以这样做

one() {
    # Some stuff
    two
}
two() {
    # Some more stuff
    one
}

虽然最终会耗尽堆栈空间;希望在某些情况下,您将包含停止递归的代码。我知道这只是一个稻草人的例子,但bash会让你在这里使用其他形式的循环,这将更好地工作;例如:

while true
do
    # Some stuff
    # Some more stuff
done

无论您试图使用goto语句完成什么,都可以在bash中不使用它来表达,特别是通过编写函数或使用无限while循环(具有跳出该循环的方式)。顺便说一下,除非在一两个

中指定退出条件,否则您编写的伪代码最终会崩溃。

Unix shell允许结构化编程,因此不需要goto

while true; do
    <<some things here>>
    <<more things here>>
done

最新更新