スクリプトを呼び出したシェルのエイリアスを「エクスポート」できますか?


14

特定のエイリアスを定義するユーティリティスクリプトを記述しようとしています。
私のシェルは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、2012
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.