.bashrcファイルとは何ですか?


21

.bashrcファイルが何であり、正確に何をするかについての明確な情報を見つけることができないようです。


これまでのすべての助けてくれてありがとう。このスクリプトは、カラーリング、補完、エイリアス、シェル履歴などのすべてを実行しているようです。有用ではないと思われるものはありますか?


4
.bashrc多くのbash構成ファイルの1つです。Bash Startup Filesの公式ドキュメントを参照してください。
ムル14年

回答:


21

.bashrcファイルには、新しい端末セッションがで起動されるたびに実行されるスクリプトですインタラクティブモード。これは、Ctrl+ Alt+を押して新しいターミナルウィンドウをT開くか、単に新しいターミナルタブを開くと発生します。

対照的に、ログインモードのターミナルセッションは、ユーザー名とパスワードを要求し、~/.bash_profileスクリプトを実行します。これは、たとえば、SSHを介してリモートシステムにログオンするときに行われます。

.bashrcファイル自体には、ターミナルセッションのための構成のシリーズが含まれています。これには、カラーリング、完了、シェル履歴、コマンドエイリアスなどの設定または有効化が含まれます。.bashrcUbuntuのと一緒に配布されたファイルはよくコメントしているとあなたはそれを読むことによって、それが何のほとんどを理解することができるようになります。

.bashrcお好みに合わせて微調整できます。ここでは、多くの追加機能を備えたサンプルを入手できます。


リンクが壊れています。
ラブ

1
リンクは機能しています。
ルイスデスーサ

そのページでは、ダウンロードファイルが機能していません。
rab

1
リンクとダウンロード作業罰金の両方
M.ベセラ

5

上の質問のスーパーユーザー - .bashrcファイルとは何ですか?@pineappleにより、@ DigitalRossにより回答

実際、bash具体的には.bashrc(および /etc/bash.bashrc)を読み取ります。さまざまなシェルがたくさんあります。

bashのmanページ(ブライアン・フォックスとチェット・ラミーによって、また、情報ページ「バッシュ起動ファイルは」)権威の参照です。

ログインシェルではないインタラクティブシェルが開始されると、bashは~/.bashrcそのファイルが存在する場合、からコマンドを読み取って実行します。--norcオプションを使用すると、これを禁止できます。--rcfileファイルオプションが読み込まれ、代わりにファイルからコマンドを実行するためにはbash強制されます~/.bashrc

bashを非対話形式で起動すると、たとえばシェルスクリプトを実行するためBASH_ENVに、環境内の変数を探し、そこに値がある場合はその値を展開し、展開した値を読み取りおよび実行するファイルの名前として使用します。Bashは、次のコマンドが実行されたかのように動作します。

if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi  

ただし、PATH変数の値はファイル名の検索には使用されません。

ファイルは単なるシェルコマンドです。通常、プロンプトの変更、環境変数の設定、シェルプロシージャの定義に使用されます。伝統的に、このファイル.profileはこの目的に使用されますが、 bash非常に多くの拡張子があるため 、起動ファイルにbashismを入れたいユーザーのために独自の起動ファイルが必要です。

ログインシェルではない」とは、スクリプトの起動や、通常はウィンドウマネージャーによって起動されるターミナルウィンドウなどを意味します。時々私は持っている* nixシステムをセットアップ.bashrcし、BASH_ENVちょうどソース.profile。POSIXシェルコマンドの外に迷わない限り、どのシェルでも同じ初期化が行われます。

shが本当にそうbashであるとき、それは特に価値があり、時々起こります。これを行うには:

. .profile

これが非常に複雑な理由の1つは、出力を生成するものをシェルスタートアップファイルに配置したり、無条件にプロンプ​​トを設定したりするためです。これはsystem(3)、Cプログラムではなく、言語内でシェルプログラムおよびバックティックコマンドを実行するときに多くの問題を引き起こします 。bash起動方法は、出力とプロンプトの設定がOKであるファイルとそうでないファイルが1つずつあるように設計されています。従来は、対話性を区別するために、たとえばプロンプトが設定されているかどうかを確認するために、実行時テストが行​​われていました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.