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

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)


me

Web Frontend が好きな大学院生。大学以降は符号・暗号の研究をしています

関連記事
Not Found X(