変数は{}で囲もう

変数の名称は末尾に数字が付くと、1ケタしか認識されません。変数「$HOSTNAME10」は「$HOSTNAME1」として認識されてしまいます。
そのため、変数の名称部分を{}で囲み「${HOSTNAME10}」と記載することで、誤認識を防ぎます。
合わせて変数名称は大文字に統一し、変数ということを認識しやすくします。

記載方法
・シェルスクリプト内のすべての変数を、以下の様に英字部分を{}で囲み、大文字で統一します。
${BASEDIR}/${BASENAME0}.log
${LOGFILE}

記載例
$ cat stop_apache.sh
#!/bin/bash
####################################################
# Script name : stop_apache.sh
# Discription : Stop apache program
# How to : # stop_apache.sh
# $1 : -
# $2 : -
# Example: # stop_apache.sh
# Date : 2017/10/10
# Maker: Ka20
####################################################
HOSTNAME=`uname -n`
BASENAME=${0##*/}
LOGFILE=stop_apache.log

TIME=`date +"%Y/%m/%d %H:%M:%S"`
echo ${TIME} ${HOSTNAME} ${BASENAME} I script start >> ${LOGFILE}

/etc/init.d/httpd stop
TIME=`date +"%Y/%m/%d %H:%M:%S"`
echo ${TIME} ${HOSTNAME} ${BASENAME} I Apache stoped >> ${LOGFILE}

TIME=`date +"%Y/%m/%d %H:%M:%S"`
echo ${TIME} ${HOSTNAME} ${BASENAME} I script end >> ${LOGFILE}

記事がお役に立ちましたら、サポートいただけるとありがたいです。いただいたサポートは活動費として利用させていただきます。