스크립트를 호출 한 SHELL에 별칭을 "내보낼 수 있습니까?"


14

특정 별칭을 정의하는 유틸리티 스크립트를 작성하려고합니다.
내 SHELL은 tcsh(변경할 수 없음)입니다.

나는 다음을 시도했다

#!/bin/tcsh  
alias log 'less ~/logs/log.`date '+%Y%m%d'`''

그런 다음 다음과 같이 실행하십시오.

./myscript  
log

내가 얻는 결과는 다음과 같습니다. log: Command not found.

당연히 내가 이렇게 실행하면 :

source myscript  
log

다 괜찮아

지정하지 않고 할 수있는 방법은 source ...무엇입니까?


당신은 넣어나요 alias당신의 ~/.cshrc파일?
qweet

@qweet-그것은 나의 목표가 아닙니다-나는 역동적 인 것을 원했습니다.
RonK

답변:


18

당신은 할 수 없습니다. 스크립트를 실행하면 새 셸이 실행됩니다. 상위 프로세스에서 별명을 볼 수 없습니다.

지적한 유일한 방법 source은 현재 쉘이 새 프로세스를 시작하지 않고 스크립트 파일을 처리하도록하는 것입니다.


2
고맙습니다-그것이 내가 생각한 것-나는 내 .alias에 별칭을 추가 할 것입니다 source myscript-나는 모든 팀원이 공유 할 수있는 쉬운 것을 원했습니다-별칭이 그것을 할 것입니다.
RonK
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.