一定時刻にサーバ側でいろいろなスクリプトを実行させたいので、
スクリプトをまとめたリポジトリを作って、
cronで一定時間ごとにpullして実行するスクリプトを作ってました。
コードはこんな感じです
# !/bin/bash
if [ $# -ne 1 ]; then
echo "plese set folder" 1>&2
exit 1
fi
dir=$1
main=${dir%/}
today=`date "+%d.txt"`
log=“${main}/log/${today}"
pushd $(dirname $0)
git checkout .
git pull origin master
./scripta/start.sh $main $log
./scriptb/start.sh $main $log
popd
ところが実行したところ、
pushd: not found
というエラーが出て全く起動していませんでした。
原因は上のスクリプトの
#!/bin/bash
を
#!/bin/sh
と書いており、shにpushdはないため失敗していました。
とりあえずbash使っておけばOKですね…