exit할때 현재shell만 exit하기..
작성자 정보
- 원더보이 작성
- 작성일
컨텐츠 정보
- 6,172 조회
- 0 추천
- 목록
본문
[답변]
쉘스크립트가 실행되면 자동으로 종료되면서 프로세스도 종료됩니다.
스크립트 안에 exit 명령을 적으셨으니 로긴쉘이 종료된다 이말입니다.
1.-------------------------------------------
#!/bin/bash
echo "exit test"
exit(삭제)
2.---------------------------------------------
#!/bin/bash
echo "exit test"
echo "sub exit test"
subexittest
echo "subexittest exited"
exit(삭제)
--------------------------------
subexittest가
#!/bin/bash
echo "sub exit"
exit(삭제)
이렇게 바꾸시면 스크립트 가 전체 실행되고 모두 종료됩니다.
계속해서 수행하시려면 아래로 이어지는 명령들을 나열하시거나
loop나 분기문으로 다른 명령들을 수행하면 되겠죠?
석 님의 글
[질문]
shell script에서 현재 실행되고 있는 shell을 exit하려면 어떻게 하죠?
#!/bin/bash
echo "exit test"
exit
이렇게 하고 이 shell script를 실행시키면 exit 에서 터미널 까지 exit 가 되어 버리네요.
또 shell script에서 다른 shell script 를 수행시켰을때도 나중에 수행된 script에서 exit를 수행하면 전체 shell script가 exit 되어 버립니다.
즉,
exittest가
#!/bin/bash
echo "exit test"
echo "sub exit test"
subexittest
echo "subexittest exited"
exit
이고
subexittest가
#!/bin/bash
echo "sub exit"
exit
이거 일때 수행한 결과는
exittest
subexit test
이렇게만 찍힌다는겁니다.
즉 전체 shell script가 exit 되어서 echo "subexittest exited" 이라인이 수행되지 않는다는거죠...
subexittest에서 exit를 수행했을때 subexittest를 콜한 exittest까지 종료되어 버려서 exittest의 subexittest exited가 수행되지 않았다는 겁니다.
현재 수행중인 shell(subexittest) 만 exit를 하고 그걸 콜한 shell(exittest)은 계속 그 다음을 수행하도록 하려면 어떻게 해야하는 거지요.
edward 이걸 어떻게 수행되게 할 수 잇는지 조언 부탁드립니다.
관련자료
-
이전
-
다음