Bashを使用して基本の枠組みとなるスクリプトを作成します。
記事の目次
1行目を記述する!
スクリプトの1行目は、スクリプトを実行するプログラムを絶対パスで記述します。
#!/bin/bash
コメントを記述する!
スクリプトのコメントを示す記号は、「#」です。「#」以降がコメントと判断されます。ただし、1行名の「#!」から始まる行は、コメントではありません。
#!/bin/bash # # Usage : sample_bash_01.sh # Version : 1.0 #
環境変数の初期化を行う!
使用する環境変数や定数は、最初に初期化を行いましょう。
#!/bin/bash # # Usage : sample_bash_01.sh # Version : 1.0 # SHELL_NAME=`basename $0` STA_MSG=Start! END_MSG=End!
処理を記述する!
環境変数の初期化が終了したら、主処理を記述します。コマンドを記述する場合は、なるべく絶対パスで記述するようにします。
#!/bin/bash # # Usage : sample_bash_01.sh # Version : 1.0 # SHELL_NAME=`basename $0` STA_MSG=Start! END_MSG=End! # START /usr/bin/logger -ip local0.crit -t ${SHELL_NAME} ${STA_MSG} # Main echo "${SHELL_NAME} : Main" # END /usr/bin/logger -ip local0.crit -t ${SHELL_NAME} ${END_MSG}
処理を終了する!
処理は、「exit」文で終了します。一般的に正常終了は「0」、正常終了以外は、「0」以外の戻り値で終了するように記述します。
#!/bin/bash # # Usage : sample_bash_01.sh # Version : 1.0 # SHELL_NAME=`basename $0` STA_MSG=Start! END_MSG=End! # START /usr/bin/logger -ip local0.crit -t ${SHELL_NAME} ${STA_MSG} # Main echo "${SHELL_NAME} : Main" # END /usr/bin/logger -ip local0.crit -t ${SHELL_NAME} ${END_MSG} exit 0
シェルに実行権を付与する!
シェルに実行権を付与します。
$ chmod +x test.sh $ ls -l sample_bash_01.sh -rwxr-xr-x. 1 usradmin usradmin 289 Jun 22 07:34 sample_bash_01.sh
シェルを実行してみる!
シェルを実行して、戻り値、ログ出力を確認します。
$ ./sample_bash_01.sh sample_bash_01.sh : Main $ echo $? 0 $ journalctl -e ... Jun 22 07:39:12 vmsrhe01.loc.lab4ict.com sample_bash_01.sh[1607]: Start! Jun 22 07:39:12 vmsrhe01.loc.lab4ict.com sample_bash_01.sh[1608]: End!
おわりに
Bashのスクリプトの基本の枠組みを作成してみました。
関連記事
関連書籍(Amazon)