셸 exec 역할
source 스 크 립 트 Execute commands from a file in the current shell.
이상 의 두 가 지 는 비교적 구분 하기 쉽다.
sh 실행 은 새 하위 셸 을 생 성하 여 스 크 립 트 를 실행 합 니 다. 실행 이 끝 난 후 부모 에 게 돌아 갑 니 다.source 는 스 크 립 트 내용 을 이 셸 프로 세 스에 불 러 와 서 실행 합 니 다.
아래 의 이 예 를 보면 알 수 있다.
[root@master ~]# cat test.sh
#!/bin/bash
a=1
[root@master ~]# sh test.sh
[root@master ~]# echo $a
[root@master ~]# source test.sh
[root@master ~]# echo $a
1
\ # source 에서 스 크 립 트 를 실행 하 는 역할 에서 a 변 수 는 이 셸 환경 에 있 습 니 다.한편, sh 는 test. sh 의 변 수 를 실행 하고 하위 셸 에서 스 크 립 트 가 실 행 된 후에 부모 셸 로 돌아 가기 때문에 a 변 수 는 비어 있 습 니 다 (하위 셸 의 환경 변 수 는 부모 셸 에 의 해 계승 되 지 않 습 니 다).
source 상용 source / etc / profile
[exec 에 대한 어 려 운 점 을 말씀 드 리 겠 습 니 다.]
help exec 공식 도움말 정보 보기
Replace the shell with the given command.
Execute COMMAND, replacing this shell with the specified program.
ARGUMENTS become the arguments to COMMAND. If COMMAND is not specified,
any redirections take effect in the current shell.
해석 exec 는 두 가지 기능 이 있 습 니 다.
현재 셸 대신 명령 프로그램 을 통 해명령 실행 이 완료 되면 이 셸 을 종료 합 니 다
[andy@master ~]$ echo $SHLVL
1
[andy@master ~]$ exec ls
scripts
... 터미널 종료
주: exec 는 셸 프로 세 스 대신 ls 명령 프로그램 을 실 행 했 습 니 다. ls 가 실 행 된 후에 종료 되 었 습 니 다.그래서 터미널 을 종료 합 니 다.
2. exec 뒤에 명령 을 받 지 않 으 면 현재 셸 에서 실행 되 는 재 설정 이 적 용 됩 니 다.(사용자 정의 파일 설명 자 를 위 한 생 성)
예:
#/bin/bash
exec 3&-
주: read - u3 line 은 파일 설명자 3 에서 커서 가 있 는 줄 의 할당 값 을 라인 에 읽 는 것 을 의미 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ZSH에서 물고기까지ZSH는 수년 동안 내 기본 셸이었습니다. 이제 몇 달 동안 사용하면서 ZSH 구성에 대해 몇 가지 사항을 발견했습니다. 우리는 을 제공하는 시스템과 더 빨리 상호 작용하는 경향이 있습니다. 내.zshrc 구성에는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.