Macのターミナルで最初のコンピューター名・ユーザー名を消す

ターミナル 画像

ターミナルで $ のより前の文字列(プロンプト)がデフォルトだと以下のようになっている。

コンピューター名:~ ユーザー名 $ 

コマンド操作をスクショで共有する時、このコンピューター名・ユーザー名の表示いらないなーと思った。これは自動で出力されているのだけど、なんとか設定で非表示にできないものか。

※ターミナルについてざっくり把握したい方は前回の記事を参照してもらえたらと。

プロンプトの変更は簡単

$ マークから前のプロンプトを変更するには PS1 という環境変数に別の値を入れるコマンドを入力する。まずは、今入っている値を表示してみる。出力は echo コマンドで、変数を参照するには $ マーク+変数名。なんとなくPHPっぽい。

$ echo $PS1

$ echo $PS1
\h:\W \u$ 

バックスラッシュ入りの文字列が出てきた。これは7つに分けることができて、前から \h(ホスト名) :(コロン) \W(ディレクトリ名) (スペース) \u(ユーザー名) $ (スペース) となっている。ここからホスト名=コンピューター名・コロン・ユーザー名を削ってしまえばいい。JSのような変数への値代入を行う。

$ PS1='\W $ '

これで、プロンプトの $ より前がディレクトリ名だけになった。ちなみに、~ となっているのはホームディレクトリを表していて、場所はMacintosh HD > ユーザー > ※ココ(ユーザー名)。家のアイコンになっている。

簡単に変更できたが、この変更は一時的なものでターミナルを再起動したら元に戻ってしまう。常に変更した状態を保つには専用のファイルに記述する必要がある。

プロンプトの保存がややこしい

ターミナルはBashというシェル(コマンドをコンピューター受け渡すシステム)を使っている。Bashはホームディレクトリに .bash_profile というファイルがあればターミナルログイン時(起動時)読み込む仕様。加えて、Bashの設定は .bashrc というファイルに書き込む。

簡単に言えば、.bash_profile.bashrc を使う設定を書き込んで、.bashrc には PS1 変数の値代入を書いておけばいいという話。

僕の場合、ホームディレクトリにどちらのファイルも無かったので新規に作成した。

bash 設定ファイル 画像

# .bash_profile

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

PS1="\W $ "

これで、ターミナルを何回立ち上げてもコンピューター名・ユーザー名が非表示となった。この設定はVisual Studio Codeの統合ターミナルなどにも反映される。

ウィンドウ上部の表示変更

ターミナルの上に表示されているテキストも変更が可能。こちらは簡単で、ターミナルを開いている状態でメニューの環境設定を選べばいい。プロファイル>ウィンドウの中に「作業ディレクトリまたは書類」というチェックボックスがあるので外す。

ターミナル 画像

前途の設定と合わせ、最終的にはかっこ悪い文字列が消えてスッキリとした表示に。これで、コマンドが上手くいっていないときにシェアして改善策を尋ねやすくなった。