명령으로서의 소스 스크립트

명령으로서의 소스 스크립트

어떤 이유에서인지(?) 이제 스크립트를 작성할 때 일반적으로 작동하지 않거나 부분적으로만 작동합니다. 그런 다음 .or를 사용해 보니 source완벽하게 작동합니다. 스크립트가 여러 면에서 다르기 때문에 전체 스크립트가 작동하려면 소스가 필요한 항목을 분리하기가 어렵기 때문에 이 문제의 원인이 무엇인지 잘 모르겠습니다. 또한 .bashrc별칭과 함수에서 스크립트로 항목을 이동할 때 거의 항상 이런 일이 발생한다는 것을 알았습니다 .

하지만 실제 질문에 대해, 위의 경우 소스 포인트를 "삼켜서" 매번 포인트를 칠 필요 없이 스크립트를 단일 단어 명령으로 계속 사용할 수 있도록 하는 가장 좋은 방법은 무엇입니까?

답변1

파일을 별도의 프로세스로 실행하는 대신 script실제로 파일을 가져오기 위해 명령을 호출하려면 다음 함수를 생성하세요.script

script () { . /path/to/script; }

함수를 영구적으로 만들려면 해당 함수를 셸의 관련 rc 파일(예: )에 추가 ~/.bashrc하세요 bash.

답변2

실용적인 예를 갖는 것이 더 좋습니다(또는 "작동하지 않는" 것을 예로 나누어서).

즉, source파일에 액세스하면 해당 작업이 호출된 것과 동일한 환경(셸)에서 해당 내용을 실행합니다. sourceing은 여러 스크립트에 변수를 포함시키는 훌륭한 기술입니다.

실행하려는 스크립트가 디렉토리에 없으면 PATH"점", "슬래시", "파일 이름"을 입력하여 현재 경로를 참조할 수 있습니다(스크립트 실행을 위해). 이는 "소스"와 완전히 다릅니다.

관련 정보