エンジニアっぽくなろうとターミナルプロンプトいじる

# そもそもプロンプトって？
「プロンプト」は、ターミナルで(デフォルトの場合) `dendenMacBookPro:Workspace denden $` と書かれた行のことです。
これがそれぞれ何を指しているかと言うと　【ホスト名】:【カレントディレクトリ】 【ユーザー名】 $　を表記しています。
デフォルトだと白黒ですしちょっと味気ないですよね。
今回はこれをいじって表示したい情報の取捨選択や配色の変更方法をまとめようと思います。
具体的にはプロンプトの

+ 表示内容の変更
+ 書体や色の変更

の方法をまとめたいと思います。

自分の備忘録を兼ねているのでいろんな記事の寄せ集めみたいになってしまっているかもですがあしからず...
先人の皆さんには感謝しかないです...

# 実際に変更してみる
プロンプトを変更する際はホームフォルダ(`~`)下にある`.bashrc`というファイルを編集します。
僕はBashを使っていますが、Zshを使っている方は`.zshrc`を編集してください。

なお、zshの場合は`\`の部分が`％`に置き換わります！！！

ちなみにMacでFinderの隠しファイル(.で始まるファイル)を表示させるには`⌘command + shift + .(ドット)` を押します。
初めての方はファイルがないはずなので、新規作成しましょう。

```~/.bashrc
export PS1='denden diary \# \t \w \$ '
```

これで保存してターミナルを開き直すとプロンプトの変更が保存されます。
( `$ source ~/.bashrc` 、もしくは、 `$ source ~/.zshrc` を実行することで反映することもできるようです。)

# 表示内容の変更
一覧表を載せておきます。

| 記号　| 意味　| 例 |
|:---|------------:|:------------:|
| \h | ホスト名 | dendenMacBook-Pro|
| \u | ユーザー名 | denden |
| \w | ディレクトリ(フルパス) | ~/Documents/GitHub |
| \W | ディレクトリ | GitHub |
| \t | 時間（２４時間制） | 22:49:38 |
| \T | 時間(12時間制) | 10:49:38 |
| \@ | AM/PM | PM |
| \d | 日付 | Wed Jun 25 |
| \D | 日時 | \D{%y/%m/%d %H:%M:%S} 20/06/25 22:49:38 |
| \# | コマンドの番号(1,2,3,...) | 2 |
| \n | 改行 | |
| \$ | 一般ユーザーの時 `$`、rootの時 `#` を表示 | $ |

ちなみにバックスラッシュ(\)は`Option + ¥`で打てます。
ホスト名は`システム設定` > `共有` で変更できます。

# 文字の書体の変更
「エスケープシーケンス」と呼ばれるものを使って文字を太字にしたり、色をつけたりできます。

```~/.bashrc
export PS1='装飾なし \[\e[1m\] ここは太字 \[\e[0m\] 装飾なし \$ '
```

するとターミナルではこのように表示されます。

![結果](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F225997%2F00d1781d-0306-eabd-1a7f-c447b70a2e0b.png?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&s=e77b0c496422a650babeaefa73650bc9)

 \[ と \]で囲んだところ,ここをエスケープシーケンスといいます。
文字出力の制御を行うための特殊な文字列となっています。

この（）ｍ、これにもきちんと意味があります。

| 値　| 効果　|
|:---|------:|
| 0m | 装飾なし |
| 1m | __太字__ |
| 2m | 細字（未対応） |
| 3m | _イタリック体_ |
| 4m | <u>下線</u> |

__【注意】__　`\[` と `\]`で囲まなくても一応、書体や色を変えることはできますが、↑↓キーを押したときや、画面サイズを変えたときに表示バグが発生しますので、ちゃんと`\[` と `\]`で囲みましょう。
ちなみに自分はこれ知らなくて↑でコマンドの履歴を遡るとプロンプト部分にコマンド履歴が侵食していくバグに出会いました...

# 文字の色の変更

```~/.bashrc
export PS1='装飾なし \[\e[32m\] ここは緑色 \[\e[0m\] 装飾なし \$ '
```

![結果](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F225997%2F5be07188-b42b-2a5c-e39d-18d432decbd9.png?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&s=04eddae23a6e74be81750676804f5ea7)

色(一例)

| 値 | 文字色 | 値 | 背景色 |
|:---|------:|:---|------:|
| 30m | 黒 | 40m | ■背景黒 |
| 31m | <font color="Red">赤</font> | 41m |  <font color="Red">■</font>背景赤 |
| 32m | <font color="Green">緑</font> | 42m | <font color="Green">■</font>背景緑 |
| 33m | <font color="Yellow">黃</font> | 43m | <font color="Yellow">■</font>背景黃 |
| 34m | <font color="Blue">青</font> | 44m | <font color="Blue">■</font>背景青 |
| 35m | <font color="Purple">紫</font> | 45m | <font color="Purple">■</font>背景紫 |
| 36m | <font color="Aqua">水</font> | 46m | <font color="Aqua">■</font>背景水 |
| 37m | <font color="Gray">灰</font> | 47m | <font color="Gray">■</font>背景灰 |

ちなみに色と書体の同時設定は数字の間にセミコロン(`;`)を置けばできます。

#最後に
いかがでしたか？
これはほんとうに初歩の初歩、なんとなく敬遠しがちな環境設定部分に触れてみて、少しずつプログラミング学習にとっつきやすくなる第一歩になるようにプログラミングの学習を始めたての人向けに書きました。
これを参考に少しでも形からエンジニアっぽいことをしてモチベを上げていただければと思います！
こういう環境設定、意外とモチベに響きます！
それでは。

# 参考文献
https://qiita.com/eytyet/items/96ef67ec6fb3876aa3d8
https://www.bloguchi.info/1174
https://qiita.com/eytyet/items/96ef67ec6fb3876aa3d8