박쥐 것과 동일합니다 :어떻게 Mac 쉘 (Windows .bat와 같은)에서 움직일 수 있습니까?
:one
<<run program>>
goto :two
:two
<<run program>>
goto :one
end
는 .sh로는이 작업을 수행 할 수 있습니까?
박쥐 것과 동일합니다 :어떻게 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
유닉스 쉘은 구조적 프로그래밍이 가능하므로 goto
에 대한 필요가 없습니다. 당신은 고토 문을 사용하여 달성하려고하는 무엇이든
while true; do
<<some things here>>
<<more things here>>
done
"while 1"은 PATH에 '1'이라는 명령이있는 경우에만 작동합니다. "while :"또는 "true"일 가능성이 있습니다. –
아마 특별히 함수를 작성하거나 루프 동안 (그것의 파괴의 방법으로) 무한를 사용하여, bash는 그것없이 표현 될 수있다. 그런데 하나 또는 두 개의 종료 조건을 지정하지 않으면 쓴 의사 코드는 결국 충돌합니다.
코드는 <<> 부분에서 일시 중지되고 <<>>에 있던 프로그램이 끝나면 계속됩니다. – andrew
while true worked. – andrew