【Ubuntu】.bashrcでプロンプト、エイリアスの設定を行う

【Ubuntu】.bashrcでプロンプト、エイリアスの設定を行う サーバー

.bashrcでプロンプト、エイリアスの設定を行います。
この記事では、Ubuntuの.bashrcをピンポイントで説明しています。

本記事の内容

  • .bashrcとは?
  • プロンプト設定
  • エイリアス設定
  • EDITOR変数設定

それでは、上記に沿って解説していきます。

.bashrcとは?

.bashrcは、bash起動時に読み込まれるファイルです。
また、bashの起動はログイン時とは限りません。

単純に「bash」と入力して、実行してもbashは起動します。

$ bash

Chromeを例にして、bashの起動を説明します。
Chromeは、次のアイコンをダブルクリックすれば立ち上がります。

立ち上がったブラウザは、次のように表示されています。

「新しいタブ」、これがbashだと考えてみてください。
そして、重要なことはタブを増やせるということです。

「+」をクリックすれば、タブは追加できます。
bashも同じように、追加で起動させることが可能です。

Chromeの立ち上げが、ログインと同じようなモノになりますね。
Chromeの立ち上げと同時にタブが一つ起動しています。
同じように、ログインと同時にbashが一つ起動しています。

そんなbashが起動する毎に、.bashrcも読み込まれることになります。
では、.bashrcには何が記述されているのでしょうか?

  • プロンプト設定
  • エイリアス設定
  • EDITOR変数設定
  • その他(bash起動時に実行したいこと)

主に上記のことが、.bashrcに書かれています。
ただし、基本的には.bashrcに環境変数を記述しません。
その意味では、EDITOR変数は例外になるでしょうね。

あと、.bashrcには表示出力のコマンドはNGです。
それが原因でトラブルを起こす可能性があります。

それでは、以下で.bashrcに記述できることを説明していきます。

プロンプト設定

プロンプトは、「$」や「#」のことです。
bashでは、次のような表示でユーザーが判別できます。

$一般ユーザー
#スーパーユーザー(root)

正確には、次のようにユーザー名、ホスト名、カレントディレクトリも表示しています。

プロンプトは、「PS1」という環境変数で表現されています。

プロンプトに設定できる値は、いろいろとあります。

  • 表示
  • カラー(文字色、背景色)
  • 書体

それぞれを下記で説明します。

表示

PS1に設定して表示できる値は、以下(一部抜粋)。

記号内容
\hホスト名
\uユーザー名
\wカレントディレクトリ(フルパス)
\Wカレントディレクトリ
\t時間 (24時制)
\T時間 (12時制)
\d日付
\D日時
\$ユーザー区別

「現在時間\t-」をPS1の先頭に追加した場合を確認します。

ゴチャゴチャしていますね。
でも、意図したようにプロンプトを変更することができています。

カラー(文字色、背景色)と書体

カラーと書体は同時に説明します。
まとめての方が理解しやすいです。

これらは、ANSIエスケープシーケンスによって設定します。
正直、覚えるような代物ではないです。

見よう見まねで対応すれば、十分でしょう。
まず、次を見てください。

これは、次のANSIエスケープシーケンスにより表現しています。

\[\033[01;34;43m\]現在時間\t-\[\033[00m\]

上記における「01;34;43m」の意味は、下記となります。

01書体
34文字色
43m背景色

書体と文字色だけなら、次のように表現します。
背景色がない場合ということです。

\[\033[01;34m\]現在時間\t-\[\033[00m\]

見た目は、次のようになります。

文字色と背景色に設定できる値は、以下。

上の対応表をまとめると、以下となります。


値の範囲
文字色30~37、90~97
背景色40~47、100~107

数値の前半、後半は明度の強弱らしいです。
あと、書体は以下の値を設定できます。

01太字
02細字
03斜体
04下線

以上、プロンプト設定について説明しました。
次は、エイリアス設定を確認します。

エイリアス設定

.bashrcにデフォルトで設定されているエイリアスを確認します。

# enable color support of ls and also add handy aliases 
if [ -x /usr/bin/dircolors ]; then 
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" 
    alias ls='ls --color=auto' 
    #alias dir='dir --color=auto' 
    #alias vdir='vdir --color=auto' 
    alias grep='grep --color=auto' 
    alias fgrep='fgrep --color=auto' 
    alias egrep='egrep --color=auto' 
fi 
# some more ls aliases 
alias ll='ls -alF' 
alias la='ls -A' 
alias l='ls -CF' 
# Add an "alert" alias for long running commands.  Use like so: 
#   sleep 10; alert 
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

上記と同じように、追加したいものがあればエイリアスとして追記するだけです。
よく使うコマンドがあれば、.bashrcに追加しましょう。

試しに「la」を実行します。

.bashrcに設定したエイリアスが、機能していることを確認できます。

以上、エイリアス設定の説明でした。
次は、EDITOR変数の設定を行います。

EDITOR変数設定

EDITOR変数は、環境変数です。
しかし、EDITOR変数は.bashrcで設定します。

同じように、PS1も.bashrcで設定しています。
EDITORもPS1も両方とも、ターミナルに関連する環境変数です。

ターミナルに関連するモノは、.bashrcに設定するということでしょう。
それが例え環境変数であってもということですね。

次の二つのケースを確認しておきます。

  • export EDITOR=vi
  • export EDITOR=nano

export EDITOR=vi

デフォルトのエディタが、viになります。
次の画面は、「crontab -e」を実行した際の表示です。

export EDITOR=nano

デフォルトのエディタが、nanoになります。
次の画面は、「crontab -e」を実行した際の表示です。

まとめ

個人的には、nanoが好みです。
そのため、デフォルトのエディタはnanoにしておきます。

タイトルとURLをコピーしました