alias - コマンドを別の文字列に置き換える

alias

aliasは別名を意味し、aliasコマンドはBashの組み込みコマンドの一つです。

コマンドに別の文字列を登録しそのコマンドを使用したときに、その登録した文字列をコマンドとして実行することができます。

例えば、コマンドによく使うオプション等を登録することで、短いキータイプで作業をすることができます。

スポンサーリンク

aliasコマンドの利用例

別名の登録

aliasコマンドは変数の代入のように行うことができます。別名が設定された文字列がコマンドとして呼び出されたとき、設定された文字列が展開されます。

コマンド例と実行結果

aliasコマンドで展開された文字列が再びaliasコマンドの設定で文字列展開されることはありません。
例えば、lsという文字列が'ls -l'に別名が設定されている場合、'ls -l'が展開された後で、'ls -l -l'、'ls -l -l -l'、...のように展開されることはありません。

登録されている別名の表示

aliasコマンドを引数なしで呼び出すか-pオプションを付けて呼び出すことで、登録されている別名を表示できます。

コマンド例

または

実行結果

スポンサーリンク

別名の解除
(unaliasコマンド)

aliasコマンドで登録した別名は、unaliasコマンドで登録を削除することができます。

コマンド例

コマンド例実行前

実行結果

すべての別名を解除
(-aオプション)

unaliasコマンドの-aオプションで、全ての別名を削除することができます。

コマンド例と実行結果

別名の展開を機能をオフに

別名の文字列展開は組み込みコマンドのshoptコマンドでexpand_aliasesという名前を指定することで、オンオフすることができます。別名の文字列展開をオンにする場合は-sオプションを、オフにする場合は-uオプションを使用します。

コマンド例(別名の文字列展開をオン)

コマンド例(別名の文字列展開をオフ)

別名の文字列展開は、対話的シェルの場合は、デフォルトでオンに、非対話的シェルの場合はデフォルトでオフになります。

別名をあらかじめ登録

~/.bashrcというファイルにコマンドを登録すると、シェルが起動したときに、そのコマンドが読み込まれ、実行されます。~/.bashrcにあらかじめaliasコマンドで別名を登録しておくと、普段使うときにその別名を利用することができます。

対話的シェルと非対話的シェルを起動したときで、最初に読み込まれるファイルが違います。
対話的シェルを起動する場合は、初めに/etc/profileが読み込まれた後に、~/.bash_profile、~/.bash_login、~/.profileの順で最初に見つかったものが読み込まれます。
非対話的シェルを起動する場合は、~/.bashrcを読み込みます。しかし、一般的に~/.bash_profileや~/.profileに~/.bashrcも読み込むように設定されています。
そのため、~/.bashrcは対話的シェルでも非対話的シェルでも読み込まれます。

参考

GNU Bash manual

スポンサーリンク