別のソースファイルにラップされたエイリアスを実行するには?

別のソースファイルにラップされたエイリアスを実行するには?

例えば

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

おすすめ記事