1. ホーム
  2. bash

[解決済み] .bash_profile、.bashrcについて、aliasはどこに書けばいいのか?重複] [重複

2022-05-13 01:48:34

質問

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

を使えばいいようです。

alias ls='ls -F'

を Mac OS X の .bashrc の中に書くと、新しく作ったシェルはそのエイリアスを持ちません。私は、以下のように入力する必要があります。 bash と入力すれば、そのエイリアスは有効になります。

そして、ホスティング会社のLinuxにログインすると .bashrc ファイルにはコメント行があり、その内容は

非ログインシェルの場合

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

ログインシェル用

では、エイリアスはどこに書けばいいのでしょうか?ログインシェルと非ログインシェルを分けているのはなぜでしょうか?

あるウェブページでは .bash_aliases を使うと書いてあるページもありますが、Mac OS Xではうまくいかないようです。

どのように解決するのですか?

を分離した理由は ログイン 非ログイン シェルは .bashrc ファイルは、Bash の新しいコピーを起動するたびに再ロードされるからです。そのため .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に直接コマンドを打ち込んだかのようにします。