引数に指定されたコマンドを実行するシェル(bash)
[目的]
postmasterが起動されていたらvacuum(etc)を実行したい
[利用方法]
cronに設定する
[作成したシェル(bash)]
#!/bin/sh # argument COMMAND=$1 # postmaster process PROC=`ps ax | grep postmaster` # if defined $PROC if [ -n "$PROC" ] && [ "$COMMAND" != "" ] then if [ $PROC -gt 1 ] then $COMMAND fi fi
[問題点]
引数に|(パイプ)や>(リダイレクト)が混じると上手くいかない
[修正したシェル(bash)]
#!/bin/sh # argument -COMMAND=$1 +COMMAND=$@ # postmaster process PROC=`ps ax | grep postmaster` # if defined $PROC if [ -n "$PROC" ] && [ "$COMMAND" != "" ] then if [ $PROC -gt 1 ] then - $COMMAND + $@ fi fi