旅するえんじにあ - Engineers to Travel -

旅するエンジニアの気まま備忘録

【shell】 実行した時にコメントを表示する

毎日更新するのは難しいけど やはり日々の仕事で何かあったら書き留めていきたい。 継続は力なり。

ということで今回はshellです。

とある仕事で簡単なshellスクリプトを書くことになりました。 というかめんどくさいからすぐ実行できる簡単なプログラムって考えたらシェルだったのです。

さて今回はshell実行時、メッセージを表示するところです。

よくコマンドである、引数が足りなかった場合に表示されるメッセージみたいな感じです。

では早速。

まずは表示するメッセージを設定します。

#!/bin/sh
# メッセージ設定
usage_msg='usage:
      use this shell
      -h      print help message
      -v      print version'

この部分が表示される部分です。

ただ、これは設定だけなので、これに通常引数が入ってくることを条件として 引数がない場合に表示させるようにします。

#!/bin/sh

# メッセージ設定
usage_msg='usage:
      use this shell
      -h      print help message
      -v      print version'

# 引数が足りない場合、メッセージを表示する

if [ $# -eq 0 ]
then

echo 'not argument'
echo "${usage_msg}"
exit 1

fi

exit 0

やっていることは至極簡単です。

if文で$#とは引数の数ですね。 いくつ引数があるかということ。

-eq はequal(イコール)ってことですね。 なのでifの条件は引数の数が0と等しい場合にTRUEとなる。 要は引数がない場合です。

この辺もどこかで書いておかないと忘れるから今度まとめます。

条件がTRUEだった場合、not argumentと表示させてから 設定したメッセージを表示させて終了させる。

もちろんオプションを付けて表示させることも可能です。

さて早速実行してみましょう。

$ sh test.sh 

not argument
usage:
        use this shell
        -h      print help message
        -v      print version

引数を渡していないので設定したメッセージが表示されました。 因みになんでもいいから引数渡すと何も表示しません。

さて次はオプションとかの付け方かなぁ。