私はこれを行う方法があるかどうか常に疑問に思いました。source
変更後は入力したくありませんでした。.bash_profile
ベストアンサー1
自動的に発生するように少しの作業を行うだけです。PROMPT_COMMAND
そして-nt
タグ付きファイルを含めます。~/.bash_profile
ファイルに入れると次のようになります。
touch /tmp/bash_profile-$$
resource_profile() {
[ ~/.bash_profile -nt /tmp/bash_profile-$$ ] && source ~/.bash_profile
}
PROMPT_COMMAND=resource_profile
/tmp
その後、シェルが起動すると空のタグファイルが生成されます。PIDそれを識別するシェル。
シェルはresource_profile
プロンプトを表示する前に毎回この機能を実行します。この機能は、最後にインポートして更新した後()タグファイルが変更されたことを確認し~/.bash_profile
、変更された場合は自動的に変更します。ファイルをインポートすると、次にタグファイルが再更新されます。-nt
source ~/.bash_profile
これは完璧な方法ではありません。ファイルシステムによっては、ファイルソースの直後に変更が検出されない場合があります。ファイルはコマンドを実行するか、を押した後にのみ確認されますEnter。これは可能な瞬間に近いですが、正確に瞬間的ではありません。
システムの設定ファイルによっては、他の人がディレクトリにアクセスできない場所にタグファイルを配置することを好む場合があります。次のようなものを作成することも可能です。stat(1)
もしそうなら、タグファイルをすべて使用しないでください。