한 가지 질문 - 어떤 경우에는 다음과 같은 명령줄이 표시됩니다.
. ./test.sh
"./test.sh" 앞에 "."을 사용해야 하는 이유가 무엇인지 궁금합니다. 명령 앞에 "."를 사용해야 하는 이유는 무엇입니까?
답변1
달리기 . ./test.sh
는 조깅과 비슷합니다 source ./test.sh
. test.sh
파일을 실행 파일로 실행 하지 않습니다 . 대신 현재 셸에서 내용을 한 줄씩 실행합니다. 예를 들어 현재 환경을 수정할 수도 있습니다.
답변2
달리기 . ./test.sh
도 마찬가지다 source ./test.sh
. 하위 쉘이 아닌 현재 쉘에서 스크립트를 실행합니다(즉, 포크하지 않음). 이는 호출 스크립트에서 동일한 이름을 가진 변수를 변경할 수 있으며, ./test.sh
호출 스크립트에서 호출된 후 정의되고 표시되는 변수 및 함수를 보존합니다.