RedHat系Linuxの起動ファイル

YAMAMORI Takenori ●yamamori

■コラム■Bシェル(Bourne Shell)の拡張文法について

/bin/shが実際にはbashへのシンボリックリンクになっているLinuxはもちろん, そのほかのOSにおいても,PC UNIXの移植版の/bin/sh上では, 「export NAME=value」といった拡張文法が使える場合があります. これは,csh系での「setenv NAME value」に相当します. しかし,この書き方は少なくともSolarisの/bin/shでは通用しません.

筆者としては,少なくとも,rcスクリプトのようなシステムにとって重要な シェルスクリプトにおいては,シェルの拡張文法には依存しないようにし, なるべく移植性を高く記述した方がよいと考えています. 「NAME=value; export NAME」と2段階に書くことを面倒がらずに, 基本を覚えた方がよいでしょう.

同様に,コマンドの標準出力の文字列を引数に置換するための 「` `」(バッククオート)について, たとえば,「`pwd`」と書くべきところを「$(pwd)」とも書けるシェルもあります. これも同様の理由で,少なくともrcスクリプトにおいては 「`pwd`」と書いた方がよいでしょう.


★参考「シェルスクリプト基本リファレンス
(cbook) (gihyo)

To『PC UNIXの起動と起動ファイルの解読』[index]


このページは、技術評論社 「SoftwareDesign 2001年9月号、『起動ファイルから解読するPC UNIX』の原稿を元に、Web 用に再構成したものです。
To 謎の処理系 SunOS 4.1.4 [Home]
yamamori