리눅스 소스 명령어 및 스크립트 실행 방법 분석
/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 중국어 홈페이지를 참고해주세요!