Linux에서 source 명령 사용에 대한 자세한 설명

高洛峰
풀어 주다: 2023-03-05 14:46:02
원래의
2178명이 탐색했습니다.

리눅스 소스 명령어 및 스크립트 실행 방법 분석

/etc/profile 파일을 수정하면서 다시 로그인할 필요 없이 바로 적용이 되었으면 좋겠다는 생각이 들어서 source 명령어를 사용하게 되었는데, 예: source /etc/profile
소스를 연구하고 sh 실행 스크립트와 비교했습니다.

소스 명령:

소스 명령은 "도트 명령"이라고도 하는데, 이는 점 기호(.)이며 bash의 내부 명령입니다.

기능: 쉘이 지정된 쉘 프로그램 파일을 읽어 파일의 모든 명령문을 순서대로 실행하도록 합니다.
소스 명령은 일반적으로 방금 수정한 초기화 파일을 다시 실행하는 데 사용됩니다. 로그아웃했다가 다시 로그인할 필요 없이 즉시 적용됩니다.

사용법:

source filename 또는 .filename
source 명령(C 셸에서)은 bash 셸에 내장된 명령(.)입니다. 기호(Bourne Shell의)는 소스의 또 다른 이름입니다.

소스 파일명과 sh 파일명, ./filename 실행 스크립트의 차이점은 무엇인가요?

1. 쉘 스크립트에 실행 권한이 있는 경우 sh filename을 사용하는 것과 ./filename을 사용하여 스크립트를 실행하는 것에는 차이가 없습니다. ./filename은 현재 디렉터리가 PATH에 없기 때문이며 모든 "."는 현재 디렉터리를 나타내는 데 사용됩니다.
2.sh 파일 이름 하위 쉘을 다시 만들고 하위 쉘의 스크립트에 있는 명령문을 실행합니다. 하위 쉘은 상위 쉘의 환경 변수를 상속하지만 하위 쉘의 새 변수와 변경된 변수는 다시 가져오지 않습니다. 내보내기를 사용하지 않는 한.
3.source 파일 이름: 이 명령은 실제로 단순히 스크립트의 명령문을 읽고 새 하위 쉘을 생성하지 않고 현재 쉘에서 순서대로 실행합니다. 그러면 스크립트에서 변수를 생성하고 변경하는 모든 명령문이 현재 셸에 저장됩니다.

예:

1. A=1

이라는 내용으로 새 test.sh 스크립트를 생성합니다. 그런 다음 chmod +x test.sh

3. sh test.sh를 실행한 후 A=1이 현재 셸로 다시 전달되지 않기 때문에 echo $A가 비어 있는 것으로 표시됩니다

4. 같은 효과

5. source test.sh 또는 .test.sh를 실행하면 echo $A, 1이 표시되어 변수 A=1이 현재 셸에 있음을 나타냅니다

이상은 이 글의 전체 내용이 모든 분들의 학습에 도움이 되기를 바라며, 또한 모든 분들이 PHP 중국어 홈페이지를 응원해 주시길 바랍니다.

리눅스에서의 소스 명령어 사용법과 관련 글에 대한 자세한 설명은 PHP 중국어 홈페이지를 참고해주세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!