bash をカスタマイズしよう🔥

syakoo posted on

bash をカスタマイズしていますか? もちろん、気にしていないとかカスタマイズしたくないとか思っている人もいると思います。知らなかった人はぜひ見ていってください

環境

  • Windows 10
  • GNU bash, version 4.4.23 (Git bash)

忙しい人向け

.bashrc を編集します。VS Code をインストールしている人は以下のコマンドでファイルを開きます(Mac の人は設定が必要)

$ code ~/.bashrc

そしてこのファイルに以下をコピペして保存します

function add_line {
	if [[ -z "${PS1_NEWLINE_LOGIN}" ]]; then
		PS1_NEWLINE_LOGIN=true
	else
		printf '\n'
	fi
}
PROMPT_COMMAND='add_line'

export PS1="\w \n\$ \[\e[31m\]>\[\e[33m\]>\[\e[32m\]>\[\e[m\] "

bash をログインしなおすか、以下のコマンドでファイルを叩くと反映されます

$ source ~/.bashrc

説明

上の手順を詳しく説明します。今回いじったファイルは~/.bashrc。なぜこのファイルをいじるのかというと、

  • .bashrcは対話モードの bash を起動する時に毎回実行される

からです。要は最初に自動に起動してくれて反映してくれます。 これに似たファイルに~/.bash_profileというのがあって、こっちはログイン時にのみ実行されます。~/.bashrcに追加して反映されなかった場合はそのファイルに同じ内容を記述してみてください

そして、カスタマイズするところはPS1という変数です。これに記述した内容がプロンプトの最初に反映されます。今回はこんな感じにしましょう

export PS1="\w \n\$ \[\e[31m\]>\[\e[33m\]>\[\e[32m\]>\[\e[m\] "

難しそうに見えますが、自分でなんでも書くことができ、\w等の記号はざっくりいうと次のような表示がされます

| 記号 | 意味 | 例 | | :--: | :--------------------- | :-------------------- | | \u | ユーザ名 | syakoo | | \w | ディレクトリ(フルパス) | ~/Documents/workspace | | \W | ディレクトリ | workspace | | \t | 時間 | 18:15:06 | | \d | 日付 | 木 4 月 09 | | \n | 改行 | | | $ | いつものやつ | $ or # |

詳しくはこのサイト(Qiita)をご覧ください。文字や背景の色も変更することができます

最後に、アウトプット後に改行を入れるスクリプトを書いて終わりです。(上のサイトで詳しく説明してあります)

function add_line {
	if [[ -z "${PS1_NEWLINE_LOGIN}" ]]; then
		PS1_NEWLINE_LOGIN=true
	else
		printf '\n'
	fi
}
PROMPT_COMMAND='add_line'

ちなみに、ここで紹介している私のオススメのカスタマイズはこんな感じになります

自分のカスタマイズ

オススメのポイントは、

  • フルパスでどこにいるのか一目でわかる
  • 入力直前に色を使うことでコマンドを入力しているところが見返しやすい
  • 改行することでコマンドのスタート場所が固定
  • 最小限の表示でうるさくない

等です。あくまで個人的なカスタマイズなので、GitHub のブランチが見れた方がいいとかここは気に入らないってところは自由に変えてください

おわりに

プロンプトを凸って、知らない人に自慢しましょう 🔥

参考文献

かなり参考にしました。ありがとうございます m(_ _"m)

  • @hmmrjn, ターミナルの表示内容(プロンプト)の変更・カスタマイズ方法まとめ, Qiita, https://qiita.com/hmmrjn/items/60d2a64c9e5bf7c0fe60

Related Posts

Not Found X(