.bashrc とは何か、およびそれをカスタマイズする方法

.bashrc とは何か、およびそれをカスタマイズする方法

ホームディレクトリには隠しファイルがたくさんあります。macOS または一般的な Linux ディストリビューションを実行している場合、隠しファイルの上部に「.bashrc」という名前のファイルが表示されます。ここでは、 とは何かを説明します。.bashrc ファイルを編集してカスタマイズする必要がある理由を説明します。

とは。.bashrc

Unix ベースまたは Unix ライクなオペレーティング システムを実行している場合、デフォルトのターミナルとして bash がインストールされている可能性があります。多くの異なるシェルが存在しますが、bash が最も一般的であり、おそらく最も人気があります。それが何を意味するのかわからない場合、bash はターミナル プログラムで入力された入力を解釈し、入力に基づいてコマンドを実行します。スクリプトを使用してある程度のカスタマイズが可能です。.bashrc が入ります。

ファイル マネージャー内の .bashrc ファイルのスクリーンショット。

。.bashrc ファイルには、bash シェルのカスタマイズ オプションのリストが含まれています。起動ごとにロードされます。。.bashrc ファイルはホーム ユーザー ディレクトリにあります。。ファイル名の前の (ドット) は、ファイルが通常のビューから隠されていることを意味します。表示するには、「隠しファイルを表示」オプションを有効にする必要があります。

どうすれば編集できますか。.bashrc

編集できます。任意のテキスト エディターで .bashrc を実行します。nano を使用してターミナルで編集することもできます。

nano ~/.bashrc

編集したことがない場合は、. 以前に .bashrc ファイルを開いていると、空であることがわかる場合があります。それはいいです!そうでない場合は、任意の行に自由に追加できます。

Edits in.bashrc は、bash のスクリプト形式に従う必要があります。bash でスクリプトを作成する方法がわからない場合は、オンラインで使用できるリソースが多数あります。このガイドは、ここでは触れていない Bash の側面について初心者向けに紹介したものです。

行った変更。次回ターミナルを起動したときにbashrcが適用されます。それらをすぐに適用する場合は、次のコマンドを実行します。

source ~/.bashrc

.bashrc カスタマイズのヒント

端末のエクスペリエンスをより効率的でユーザーフレンドリーにするためにできる便利なトリックがいくつかあります。

1.エイリアス

エイリアスを使用すると、長いコマンドの短いバージョンを作成できます。

たとえば、コマンド ls は、ディレクトリの内容を表示するためによく使用されます。ls -lhaを使用して、コンテンツをより詳細に表示することもできます。llこれで、 run に設定されたエイリアスができましたls -lhallターミナルに入力するだけで、ls -lhaコマンドが実行されます。

基本的なエイリアスのリストを表示するターミナル。

エイリアスを次のようにフォーマットする必要があります。

alias ll="ls -lha"

置き換えたいテキストを左側に入力し、右側にコマンドを引用符で囲んで入力します。これを使用して、短いバージョンのコマンドを作成したり、一般的なタイプミスを防止したり、コマンドを常に好みのフラグで実行するように強制したりできます。また、お好みの短縮形を使用して、面倒で忘れやすい構文を回避することもできます。

2.機能

省略形のコマンド名に加えて、bash 関数を使用して複数のコマンドを 1 つの操作に組み合わせることができます。かなり複雑になる可能性がありますが、通常は次の構文に従います。

function_name () {
command_1
command_2
}

たとえば、次のコマンドはmkdirと を組み合わせたものですcd。入力すると、md folder_name作業ディレクトリに「folder_name」という名前のディレクトリが作成され、すぐにそこに移動します。

md () {
mkdir -p $1
cd $1}

関数に表示されるは$1、関数名の直後に入力するテキストである最初の引数を表します。

3. シンプルな Bash プロンプトの追加

を使用することもできます。.bashrc ファイルを使用して、カスタム シェル プロンプトを作成します。シェル プロンプトは、すべての端末入力行の先頭に表示されるテキスト行です。これには、システムの名前などの静的情報、またはシェルの現在の作業ディレクトリに応じて変化する動的スクリプトのいずれかを含めることができます。

に追加できるいくつかの興味深い bash プロンプトを次に示します。.bashrc ファイル。

4. PATH 変数を変更する

PATH 変数は、現在のセッションのスクリプトとバイナリの場所をシェルに伝える重要な変数です。を使用できます。PATH 変数の内容を保存/変更するための .bashrc ファイル。これは、カスタム ディレクトリから独自のプログラムを実行する場合に便利です。

PATH 変数を変更するには、次のコード行を .xml の末尾に追加します。.bashrc:

PATH="$PATH:"

これにより、カスタム引数をロードする前に PATH のデフォルト値をロードするようにシェルに指示します。

自分自身を参照する PATH 変数を示すスクリーンショット。

その後、この PATH 変数の末尾に独自のディレクトリを追加できるようになりました。

PATH=":/home/$USER/bin:/home/$USER/git"

カスタム ディレクトリを含む PATH 変数を示すスクリーンショット。

5. 新しい環境変数のエクスポート

環境変数は、プログラムまたはシステム プロセスのセッション固有の値を保持するコンテナーです。これには、実行中に使用できるオプションまたはリソースをプログラムに与える文字列が含まれています。

たとえば、一部のプログラムは、外部データベース プロセスにリンクするときに「POSTGRESQL_DATABASE」環境変数を使用します。

POSTGRESQL_DATABASE="postgres://ramces:password@localhost:5432/db"

カスタム環境変数を示すスクリーンショット。

その後、変数をシェルにエクスポートする必要があります。これにより、通常のシェル変数から環境変数に変換されます。

POSTGRESQL_DATABASE="postgres://ramces:password@localhost:5432/db"export POSTGRESQL_DATABASE

export コマンドと新しい環境変数を示すスクリーンショット。

6. リンク。.bashrc で。bash_profile

の違い。.bashrc と. bash_profile は、初心者の Linux ユーザーにとって最大の混乱点の 1 つです。bash_profile は、ログイン中に一度だけ実行されます。新しいシェルが起動するたびに、.bashrc が実行されます。

ただし、このあいまいな区分は、2 つを混同して、実行したいコマンドの実行に失敗する可能性があることを意味します。この問題を解決する簡単な方法の 1 つは、それを確実にすることです。すぐに.bashrcが実行されます。bash_profile が読み込まれます。

の末尾に次のコード行を追加します。.bashrc ファイル:

if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

bash_profile の基本的な if ステートメントを示す端末。

このコードの小さなブロックは、シェルに a. .bashrc ファイルがホーム ディレクトリに存在します。見つかった場合、Bash はファイルをロードし、現在のシェル インスタンスでコマンドを実行します。

よくある質問

私の意志。.bashrc ファイルは他の Linux シェルで動作しますか?

Bash の開発者が設計した . .bashrc ファイルを変更して、Bash シェルでのみ動作するようにします。ただし、a 内のほとんどのコマンドは . .bashrc ファイルは、一部の Unix ライクなシェルと相互互換性があります。たとえば、a の内容をコピーできます。.bashrc ファイルを対応する Korn シェルに変換します。kshrc であり、引き続き機能します。

Bash を使用してデフォルトのファイル許可を設定することはできますか?

はい。umaskこれを行うには、コマンドを末尾に追加する必要があります。.bashrc ファイル。これは、設定したいパーミッション ビットにビット マスクを設定する簡単なプログラムです。たとえば、このコマンドはumask 027running と同等ですsudo chmod -R 750. /directory

画像クレジット:Unsplash経由のGabriel Heinzer。Ramces Redによるすべての変更とスクリーンショット。

  • フェイスブック
  • つぶやき

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です