특정 별칭을 정의하는 유틸리티 스크립트를 작성하려고합니다.
내 SHELL은 tcsh
(변경할 수 없음)입니다.
나는 다음을 시도했다
#!/bin/tcsh
alias log 'less ~/logs/log.`date '+%Y%m%d'`''
그런 다음 다음과 같이 실행하십시오.
./myscript
log
내가 얻는 결과는 다음과 같습니다. log: Command not found.
당연히 내가 이렇게 실행하면 :
source myscript
log
다 괜찮아
지정하지 않고 할 수있는 방법은 source ...
무엇입니까?
답변
당신은 할 수 없습니다. 스크립트를 실행하면 새 셸이 실행됩니다. 상위 프로세스에서 별명을 볼 수 없습니다.
지적한 유일한 방법 source
은 현재 쉘이 새 프로세스를 시작하지 않고 스크립트 파일을 처리하도록하는 것입니다.