★ 현재 프로세스에서 쉘 스크립트 실행
여기에 새로운 명령 소스 명령이 필요합니다. Source는 Shell에 내장 된 명령어 중 하나로 스크립트 파일의 코드를 읽고 모든 문을 순서대로 실행합니다. 소스 명령이 스크립트 파일의 권한을 무시하고 스크립트 파일의 모든 명령을 강제로 실행한다는 것을 이해할 수도 있습니다.
소스 명령의 사용법은 다음과 같습니다.
- 소스 파일 이름
다음과 같이 축약 될 수도 있습니다.
- . 파일 이름
두 쓰기 방법의 효과는 동일합니다. 두 번째 쓰기 방법의 .경우 점 과 파일 이름 사이에 공백이 있습니다.
예를 들어 source를 사용하여 이전 섹션에서 test.sh를 실행합니다.
[backhyung @ localhost ~] $ cd demo # test.sh가있는 디렉토리로 전환합니다.
[backhyung @ localhost demo] $ source ./test.sh # 소스 사용
안녕하세요!
[backhyung @ localhost demo] $ source test.sh # 소스 사용
안녕하세요!
[backhyung @ localhost demo] $. ./test.sh # 점 사용
안녕하세요!
[backhyung @ localhost demo] $. test.sh # 점 사용
안녕하세요!
소스 명령을 사용하면 스크립트에 실행 권한을 추가 할 필요가 ./없으며 작성 여부는 중요 하지 않습니다 . 매우 편리합니까?
현재 셸 프로세스에 있는지 확인
우리는 여전히 $$변수를 사용 하여 아래와 같이 프로세스의 PID를 출력합니다.
[backhyung @ localhost ~] $ cd demo
[backhyung @ localhost demo] $ echo $$
5169 # 현재 프로세스 PID
[backhyung @ localhost demo] $ source ./check.sh
5169 셸 스크립트가있는 프로세스의 #PID
[backhyung @ localhost demo] $ echo $$
5169 # 현재 프로세스 PID
[backhyung @ localhost demo] $. ./check.sh
5169 셸 스크립트가있는 프로세스의 #PID
프로세스의 PID는 동일합니다. 물론 동일한 프로세스입니다.
★ 요약하자면
새 프로세스에서 셸 스크립트를 실행해야하는 경우 일반적 bash test.sh으로이 방법을 사용 하고 현재 프로세스에서 셸 스크립트를 실행하면 일반적 . ./test.sh으로이 방법을 사용 합니다. 이것은 제 개인적인 스타일입니다.
마지막으로 좀 더 복잡한 예를 보여 드리겠습니다. 이 예에서 read 명령어는 사용자가 키보드에서 입력 한 내용을 읽어 URL 변수에 할당 한 다음 마지막으로 디스플레이에 출력하는 데 사용됩니다.
- #! / bin / bash
- # 저작권 (c) http://www.daum.net/shell/
- echo "쉘 튜토리얼의 URL은 무엇입니까?"
- URL 읽기
- echo "$ URL은 매우 빠 사용하세요!"
스크립트를 실행하십시오.
[backhyung @ localhost demo] $. ./test.sh
쉘 튜토리얼의 URL은 무엇입니까?
http://www.daum.net/shell/↙
http://www.daum.net/shell/은 매우 빠릅니다!
↙는 Enter 키를 누르는 것을 의미합니다.
'Linux' 카테고리의 다른 글
셸 변수 : 셸 변수의 정의, 할당 및 삭제 - 2장 (0) | 2020.10.07 |
---|---|
셸 변수 : 셸 변수의 정의, 할당 및 삭제 - 1장 (0) | 2020.10.07 |
쉘 스크립트 실행 - 새 프로세스에서 셸 스크립트 실행 (0) | 2020.10.07 |
Linux 셸 명령 프롬프트 (0) | 2020.10.07 |
Linux Shell 명령의 기본 형식 - 매개변수 (0) | 2020.10.07 |