2016-05-14 10 views
3

~/.bashrcファイルにカスタムエイリアスを追加し、いくつかの環境変数を設定したいとします。私の質問は、システム全体の/ etc /ファイルを参照して、他のすべての設定がそのファイルで行われるようにする必要があるかどうかです。私はこれを理解しようとしているときに発見したいくつかのサンプル.bashrcファイルにこのコードを見てきました:〜/ .bashrcファイルの/ etc/bashrcを必須または必須と参照していますか?

if [ -f /etc/bashrc ]; then 
     . /etc/bashrc # --> Read /etc/bashrc, if present. 
fi 

それはUnixのに来るとき、私はただの死を免れよりもさらに少ないです!

+2

あなたの '/ etc/bashrc'(またはいくつかのディストリビューションの'/etc/bash.bashrc')は、あなたがこのソースコードを変更しようとするべきではありません。すべてのユーザーに対してシステム全体の構成を設定します。特定の設定は '〜/ .bashrc'に入ります。ログイン時に '/ etc/profile'が自動的に'〜/ .bashrc'を読み込みます。また、 '〜/ .bashrc'ではなく'〜/ .profile'に 'PATH'が追加されます(そうしないと、*対話型シェルが起動されるたびに別のパスが追加されます)。 –

+1

〜/ .bashrcがソースになります〜/ .profileで、/ etc/profileではありません。(少なくとも私のシステムでは) – Brikowski

答えて

2

いいえ、必要ありません。実際には、環境がどのように見えるかという自分の考えを汚す可能性があります。

は、ランダムなディストリビューションやシステム管理者ではなく、必要なエイリアス、変数、機能を指定するものです。 /etc/bashrcの内容を見て、あなたが好きな10%を取って、他の90%の役に立たない膨らみを忘れてください。

  1. 環境変数
  2. 別名

ので参照しない/etc/bashrcではない:

1

/etc/bashrc

if [ -f /etc/bashrc ]; then 
     . /etc/bashrc # --> Read /etc/bashrc, if present. 
fi 

sourc ingがとの競合を回避するための賢明な方法であります良いアイデア。

注:新しいユーザーが作成されると骨格.bashrcは通常、新しく追加されたユーザーのために/etc/skelからホームフォルダにコピーされます。そうでない場合は、手動でコピーすることができます。始めるには良い場所です。

+0

'/ etc/profile'が'〜/ .bashrc'をソースしているとどうなりますか?確認するためにOPをアドバイスする必要があります。 –

2

初心者で、カスタムエイリアスと環境変数を作成する場合は、デフォルトの.bashrcファイルに追加するだけです。ほとんどのディストリビューションでは、改良されたカラーサポートや、端末で動作するプログラムのウィンドウサイズの調整など、定期的に使用する機能が含まれています。だからあなたがしていることを正確に知らなければ、このデフォルトコードを削除しないでください。

/etc/bashrc:2つのbashrcファイルがある理由は、/ etc/bashrcがすべてのユーザーに共通であり、すべてのユーザーが独自の〜/ .bashrc(/ etc/bashrcファイル)。 これは私が上に書いたことを意味します:あなたが何をやっているのか分からなければ、はあなたの.bashrcの/ etc/bashrcをソースする必要があります。〜/ .bashrcから/ etc/bashrcをソースしないでください。〜/ .bashrcが処理されるまでにbashがすでに/ etc/bashrcを提供しているので、あなたが提供したコードはナンセンスです。 (実際には真であるかどうかは分かりませんが、bashのmanページではこれらのファイルを実際に入手する方法については何も言及していませんので、これは最も論理的な動作ですが、システム上でもうまく動作します。

+0

これまでの回答はすべて回答者の意見の表現ですが、これは少なくとも説明しようとしています。 – rici

関連する問題