Como executar um alias, encapsulado em outro arquivo de origem?

0

Por exemplo

~/.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)'

depois de chamar job_start:

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

Mas aliases atualiza depois de chamar job_start - > job_run aparece.

A chamada manual de job_run prosseguirá conforme o esperado.

    
por kAldown 25.01.2017 / 11:45

1 resposta

0

Peça ao seu alias para criar um script, em vez de tentar que ele execute diretamente as coisas:

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

onde ~/bin/job_start se parece com isto:

source .env/bin/activate.csh
rehash
job_run

Como alternativa, se as mudanças no ambiente não precisarem ser mantidas, você pode ter o alias executando ~/bin/job_start .

Além disso, se ~/bin estiver em seu caminho, renomear o script ~/bin/job_start para outra coisa pode ser apropriado: -)

    
por 25.01.2017 / 12:54

Tags