Open4
シェルでコマンドを連続で実行したい
サーバ上の設定ファイルなどを収集するのに、決まったコマンドを複数実行したい場合がある。
このようなケースではcat /etc/passwd; cat /etc/group
のようにするのが一般的だが、Teratermでログを取りたい場合など、出力結果が見にくくなる。
こんな感じのシェルだといい感じ。
改行はこれがスマートなのかしら...?
commands=(
"echo a"
"echo b"
)
for command in "${commands[@]}"; do
echo "===== "$command" ====="
echo ""
eval $command
echo ""
echo ""
done
fileかどうかの判定
if [ -f ${file} ]; then
cat ${file}
fi
heredocでメタ文字をエスケープしたい場合には、
sqlplus /nolog << 'EOF'
SELECT * from v$foo;
のように、'EOF'
とする。
参考: