.bat эквивалент:как вы попадаете в оболочку mac (как в Windows .bat)?
:one
<<run program>>
goto :two
:two
<<run program>>
goto :one
end
Может .sh это сделать?
.bat эквивалент:как вы попадаете в оболочку mac (как в Windows .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
В Unix, оболочка позволяет структурного программирования, так что нет никакой необходимости в goto
.
while true; do
<<some things here>>
<<more things here>>
done
«while 1» будет работать только в том случае, если в PATH есть команда с именем «1». Вероятно, вы имеете в виду «while:» или «while true» –
Все, что вы пытаетесь достичь с помощью оператора Гото, вероятно, может быть выражено без него в Баш, в частности, путем написания функций или с помощью бесконечного во время цикла (с пути выхода из него). Кстати, псевдокод, который вы написали, в конечном итоге сработает, если у вас нет какого-либо условия выхода, указанного в одном или двух
Код останавливается на части <<>> и продолжается, когда заканчивается программа, которая была на <<>>. – andrew
В то время как истина работала. – andrew