シェル組み

〜Unix〜


●シェルスクリプトとは?●

Windows、Dosでは、プログラムを制御するために

JCL(バッチコマンド)を使用しました。

Unixでは、シェルスクリプトを使うことになります。

概念としては同じようなものだと考えてください。

もちろん、コマンドはちょっと違いますが・・・・(^^;)。

●よく使うシェルスクリプトのパラメータ●

$1

類似品に$2,$3,$4・・・・とあります。

これは位置パラメータと呼ばれるものでシェル実行時

の引数の受け渡しに使われます。

$1は「一番目の引数」という意味です。

●よく使うUnixのコマンド●

cp コピー元ファイル名 コピー先ファイル名

ファイルをコピーします。

オプションに -i をつけるとコピー先に同じ名前のファイルが

あった場合に、上書きしてよいかどうかの確認ができます。

mv 移動元ファイル名 移動先ファイル名

移動元ファイルと移動先ファイルに同じディレクトリを

指定した場合は、結果的に名前が変更されるという

ことになります。オプションに -i をつけることで

同じファイル名がすでにあった場合の

上書き確認を行うことができます。

rm ファイル名

指定したファイルを削除します。

オプションに -i をつけることで削除前の

再確認を行うことができます。

●サンプルシェルスクリプト●

rtncode=/home/cobol/$$.rtn ;export rtncode
cobpath=/home/cobol ;export cobpath

echo "プログラムスタート"

inputfile=$cobpath/input.txt
outputfile=$cobpath/output.txt

if [ ! -f $inputfile] ; then
 echo "入力ファイルが用意されていません"
 exit 1
fi

if [ -f $outputfile] ; then
 rm $outputfile
fi

in01=$inputfile ;export in01
out01=$outputfile ;export out01

$cobpath/perform1 ; echo $? > $rtncode

rc="`cat $rtncode`"
rm -f "$rtncode"
case $rc in
 0)
  ;;
 *)
  echo "プログラムで異常が発生しました"
 exit 1
 ;;
esac

echo "プログラム終了"

exit 0

プログラミング入門に戻る