気の向くままに辿るIT/ICT/IoT
sh/bash

sh/bashシェル組み込みコマンド

ホーム前へ次へ
shとbashのシェル組み込みコマンドって違うの!?

sh/bashシェル組み込みコマンド

シェル組み込みコマンド

 UNIX/Linuxシェルには、そのコマンド名にしてsh,bash,csh,tcsh,ksh,zsh...など数多くあり、数多くのUNIX/Linuxコマンド以外にシェル組み込みコマンドというコマンドが存在し、それらシェル組み込みコマンドもそれぞれですが、ここではコマンド名shであるBourne Shellの組み込みコマンドとBourne Again SHell/bashの拡張組み込みコマンドに触れます。

shとbashにはそれぞれ組み込みコマンドがある

 bashを利用している場合、あまりshとbashを区別して意識しませんから組み込みコマンドもbashの組み込みコマンドと認識していても不思議ではありません。

 尚、shと異なりbashは、今尚バージョンアップが継続中なので新たな組み込みコマンドが追加されたり、既存コマンドが拡張されたりすることもあるでしょう。

sh/Bourne Shellとbash/Bourne Again SHell

 Bourne ShellとGNU拡張版bashは、UNIX/Linuxにおいて多く採用されています。

 ちなみにshとbashのバージョンを

$ sh -version 

$ bash -version 

のように調べてみると

 GNU bash, version x.x.xx(x)-release 

Copyright (C) xxxx Free Software Foundation, Inc. 

のように実はいずれもbashでshがbashのalias(別名)になっているケースも珍しくありません。

 ちなみにaliasもれっきとしたコマンドであり、コマンドラインから

$ alias ls="ls -aF" 

と一時的に有効に、またログインすると必ず読み込まれるような管理ファイル

 alias ls="ls -aF" 

などと設定すれば、lsとだけ入力するだけで実行する度に[ a ]オプションと[ F ]オプションを指定したのと同じ結果になりますが、ちなみにこれはBourne Shell組み込みコマンドではなく、bashで追加拡張されたbash組み込みコマンドです。

 bashの拡張は、Bourne Shellにもともとあったコマンドよりも数多く、豊富な機能が提供されており、当然、利用しているUNIX/Linuxにbashがあれば、Bourne Shellとbashの両方のシェル組み込みコマンドを利用することができます。

 また、bashにはPOSIX(Portable Operating System Interface)モードがあり、POSIXモードとして指定された場合には、POSIX特殊コマンドとして動作するsh/bash組み込みコマンドもあります。

 POSIXはIEEE/The Institute of Electrical and Electronics Engineers, Inc.という電子・電気技術協会が策定したOSにおけるアプリケーションインタフェースの標準化規格です。

LINK

ホーム前へ次へ