Posix(HP-UX)でのヒアドキュメントの動作

 11日の日記(http://d.hatena.ne.jp/kwy/20090911)で、<シェルスクリプトのヒアドキュメントでも"-"が使えるなんて僕この本で始めて気づきました>と書いたわけですが、早速HP-UX での動作を試してみました。
 作ってみたのは今更ながらのSTATSPACK で各スナップショット間のレポートを作成するスクリプト

#!/sbin/sh

if [ $# -ne 2]; then
        echo "This script need two arguments."
        echo "usage: `basename` <begin snapID> <end snapID>"
        exit 0
fi

min_snap=$1
max_snap=$2

next_snap=`expr ${min_snap} + 1`

while [ ${max_snap} -gt ${next_snap} ]
do
        echo "creating report of snapshot No.${min_snap} -> ${next_snap}"

        sqlplus perfstat/perfstat <<- EOF
                def begin_snap=${min_snap}
                def end_snap=${next_snap}
                def report_name=report_from_${min_snap}_to_${next_snap}
                @?/rdbms/admin/spreport.sql
                exit
        EOF

        min_snap=${next_snap}
        next_snap=`expr ${min_snap} + 1`
done

exit

 注意点としては
・EOFを引用符で囲むと、それが一重だろうが二重だろうがRubyでいう一重引用符で囲ったのと同じ動作になる。
・<<- で無視できるインデントはタブのみで、スペースを区切るとシンタックスエラーを宣告される。
 といったところでしょうか。どちらも気づくのに手間取りました。