Linux

쉘 스크립트 - 현재 프로세스에서 쉘 스크립트 실행

빼이 2020. 10. 7. 16:33
반응형

★ 현재 프로세스에서 쉘 스크립트 실행

여기에 새로운 명령 소스 명령이 필요합니다. 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 변수에 할당 한 다음 마지막으로 디스플레이에 출력하는 데 사용됩니다.

  1. #! / bin / bash
  2. # 저작권 (c) http://www.daum.net/shell/
  3. echo "쉘 튜토리얼의 URL은 무엇입니까?"
  4. URL 읽기
  5. echo "$ URL은 매우 빠 사용하세요!"

스크립트를 실행하십시오.

[backhyung @ localhost demo] $. ./test.sh

쉘 튜토리얼의 URL은 무엇입니까?

http://www.daum.net/shell/↙

http://www.daum.net/shell/은 매우 빠릅니다!

↙는 Enter 키를 누르는 것을 의미합니다.

반응형