다른 소스 파일에 래핑된 별칭을 실행하는 방법은 무엇입니까?

다른 소스 파일에 래핑된 별칭을 실행하는 방법은 무엇입니까?

예를 들어

~/.cshrc:

alias job_start 'cd $PROJ_DIR && source .env/bin/activate.csh && rehash && job_run'

$PROJ_DIR/.env/bin/activate.csh:

alias job_run '(cd $PROJ_DIR/builds; sh run.sh)'

job_start를 호출한 후:

% job_start                                                                                                                                                                                                  [4/36]
job_run: Command not found.

job_start그러나 별칭은 ->를 호출한 후에 업데이트됩니다 job_run.

수동 호출은 job_run예상대로 작동합니다.

답변1

별칭을 직접 실행하는 대신 스크립트를 가져오도록 하세요.

alias job_start 'cd $PROJ_DIR && source ~/bin/job_start'

다음과 같습니다 ~/bin/job_start.

source .env/bin/activate.csh
rehash
job_run

또는 환경에 대한 변경 사항을 보존할 필요가 없다면 별칭 실행을 사용할 수도 있습니다 ~/bin/job_start.

또한 스크립트 이름이 ~/bin경로에 있는 경우 다른 이름으로 바꾸는 것이 적절할 수도 있습니다. :-)~/bin/job_start

관련 정보