エイリアスは .bashrc または .bash_profile のどちらに置くべきですか? [重複] 質問する

エイリアスは .bashrc または .bash_profile のどちらに置くべきですか? [重複] 質問する

重複の可能性あり: .bashrc、.bash_profile、.environment の違いは何ですか?

どうやら私が使うと

alias ls='ls -F'

Mac OS X の .bashrc 内に、新しく作成されたシェルにそのエイリアスが存在しないとします。もう一度入力するbashと、そのエイリアスが有効になります。

ホスティング会社の Linux にログインすると、.bashrcファイルに次のようなコメント行が表示されます。

非ログインシェルの場合

そして.bash_profileファイルには次のようなコメントがあります

ログインシェル用

では、エイリアスはどこに記述すればよいのでしょうか? ログイン シェルと非ログイン シェルを分離するにはどうすればよいでしょうか?

一部のウェブページでは を使用するよう書かれています.bash_aliasesが、どうやら Mac OS X では動作しないようです。

ベストアンサー1

分離する理由はログインそして非ログインshell である理由は、.bashrcBash の新しいコピーを起動するたびにファイルが再ロードされるためです。ファイル.profileは、ログインしたとき、または適切なフラグを使用して Bash にログイン シェルとして動作するように指示したときにのみロードされます。

個人的には、

  • 私は自分のPATH設定をファイルに保存しました.profile(他のシェルを使用することがあるため)。
  • Bash エイリアスと関数を.bashrcファイルに格納します。
  • 私はこれを

    #!/bin/bash
    #
    # CRM .bash_profile Time-stamp: "2008-12-07 19:42"
    #
    # echo "Loading ${HOME}/.bash_profile"
    source ~/.profile # get my PATH setup
    source ~/.bashrc  # get my Bash aliases
    

    私のファイルにあります.bash_profile

bashああ、新しいエイリアスを取得するために再度入力する必要がある理由は、Bashは.bashrc起動時にファイルを読み込みますが、指示しない限り再読み込みしないからです。次のように.bashrc入力すると、ファイルを再読み込みできます(2番目のシェルは必要ありません)。

source ~/.bashrc

これにより.bashrc、Bash に直接コマンドを入力したかのようにファイルが読み込まれます。

おすすめ記事