どうやら私が使うと
alias ls='ls -F'
Mac OS X の .bashrc 内に、新しく作成されたシェルにそのエイリアスが存在しないとします。もう一度入力するbash
と、そのエイリアスが有効になります。
ホスティング会社の Linux にログインすると、.bashrc
ファイルに次のようなコメント行が表示されます。
非ログインシェルの場合
そして.bash_profile
ファイルには次のようなコメントがあります
ログインシェル用
では、エイリアスはどこに記述すればよいのでしょうか? ログイン シェルと非ログイン シェルを分離するにはどうすればよいでしょうか?
一部のウェブページでは を使用するよう書かれています.bash_aliases
が、どうやら Mac OS X では動作しないようです。
ベストアンサー1
分離する理由はログインそして非ログインshell である理由は、.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 に直接コマンドを入力したかのようにファイルが読み込まれます。