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