UNIXシェルスクリプト第10章 Part1

ファイルの連結、表示を行うシェルスクリプト Cat

#!/bin/sh

シェルスクリプトの最初にはこの宣言が必要。

/bin/shで動作させるため。

 

if [ ! -r "$1" ] ; then

-rオプションはファイルが存在し、読み込み可能かどうかを判定する。

 

IFS=

while read LINE

readはIFS変数にセットされている空白、タブ、改行などを区切り文字として使う。

IFS変数にはデフォルトで空白、タブ、改行がセットされている。

IFS変数を空にすることで何も無視する文字はないとreadコマンドに教えることができる。

※実際には現在の値を別の変数に代入しておいて、後で元に戻すのが賢明。

 

while read LINE

do

 処理

done <"$1"

whileとreadを使ってリダイレクトしてファイルを読みこませると、

ファイルの終わりの行までを1行ずつ順番に処理させることができる。

 

shift

スクリプトの引数($1以降)の位置を1つずらす。

 

exit $ERROR

$ERRORの値が終了コードになる。