🌟

【Linux】シェル環境のカスタマイズと使用(その2)

2023/08/04に公開

bashにおける環境設定ファイル

・ログインシェル起動時に「/etc/profile」を最初に読み込む。
・「~/.bash_profile」をログイン時に読み込む。
・「~/.bash_profile」が無い場合は次に「~/.bash_login」を読み込む。
・ 「~/.profile」は、「~/.bash_profile」ファイルと 「~/.bash_login」ファイルがない場合にログイン時に読み込まれる。
・「~/.bashrc」は bash起動時に実行される。
・「~/.bash_logout」は ログアウト時に実行される。

aliasコマンド

aliasは、UNIXベースのオペレーティングシステム(例:Linux、macOSなど)やコマンドラインシェル(例:bash、zshなど)で使用されるコマンド。aliasコマンドを使って、他のコマンドやコマンド列に別名(エイリアス)を割り当てることができる。

一般的な使い方は以下の通り

bash
alias [エイリアス名]='コマンドまたはコマンド列'

# lsコマンドのエイリアスを作成する:
alias ll='ls -l'
#これにより、llと入力するとls -lが実行されるようになる。

# 複数のコマンドを組み合わせたエイリアスを作成する:
alias update='sudo apt-get update && sudo apt-get upgrade'
# これにより、updateと入力すると、sudo apt-get updateとsudo apt-get upgradeが順番に実行される。

#エイリアスを表示する:
alias
#このコマンドは、現在定義されているすべてのエイリアスを表示する。

エイリアスは、シェルのセッションが終了すると消えるため、再起動後には再定義する必要がある。また、永続的なエイリアスを使用する場合は、~/.bashrc(または~/.zshrcなど)などの設定ファイルにエイリアスの定義を記述する。これにより、シェルが起動するたびにエイリアスが読み込まれ、使えるようになる。

set -f コマンド

パス名のワイルドカードによる展開(*や?)を無効にする方法は、シェルのオプションを設定することで行う。具体的には、set -fコマンドを使用する。これにより、ワイルドカードが無効になる。

bash
# ワイルドカード展開を無効にする(2通り示す)
set -f
set -o noglob

# ワイルドカードを含むコマンドを実行
echo *

# ワイルドカードを含むコマンドを実行
echo file*

# ワイルドカードを含むコマンドを実行
echo ?ile

# ワイルドカード展開を有効にする(globbing on)
set +f

ignoreeof(オプション)

キーボード操作による「Ctrl + D」でのログアウトを一時的に無効にする。これにより、シェルが「Ctrl + D」をログアウトのシグナルとして認識しなくなる。
以下のコマンドを実行することで、「Ctrl + D」によるログアウトを無効にできる。

bash
set -o ignoreeof

ログアウトの無効化を終了し、通常通り「Ctrl + D」でログアウトできるようにするには、以下のようにset +oを使用してignoreeofオプションを無効化する。

bash
set +o ignoreeof

env コマンド

指定した環境変数の値を一時的に削除してコマンドを実行する
具体的には、以下のようにenvコマンドを使用する。

bash
env -u 環境変数名 コマンド

ここで、-uオプションは指定した環境変数を無効化(アンセット)するために使用する。環境変数名には無効化したい環境変数の名前を指定し、コマンドにはその環境を一時的に適用したいコマンドを指定する。

set コマンド

設定されている全てのシェル変数を一覧表示する。

bash
# シェルオプションを一覧表示。
set -o
# 環境変数を一覧表示。
set -a
# 配列変数を一覧表示。
set -A

Discussion