タグ

スクリプトとシェルスクリプトに関するjun-kunのブックマーク (1)

  • if文でコマンド実行結果の戻り値を判定する - 四角革命前夜

    さてさて、またしてもシェルスクリプトです。 シェルスクリプトではコマンドを実行して、コマンドの戻り値によって処理を変えるなんてことがあるかと思います。 #!/bin/sh echo "$1" | grep 'a' if [ "$?" -eq 0 ] then echo 'has a' else # 英語自信ない echo 'has not a' fi このスクリプトの場合、$1に'a'が含まれていればgrep 'a'で一致する箇所があるということになるので、戻り値の$?は0となり、'has a'が表示されますね。 普通に書くならこれで良いのですが、set -eを指定した場合はどうするか…… そもそもデバッグ目的以外でset -eを使うのが正しいのかどうなのかはわかりませんが。(普通に使われてるのかな?) 上記の方法で書こうとしても、grep 'a'を実行して一致しなかった時点でスクリプトが

    if文でコマンド実行結果の戻り値を判定する - 四角革命前夜
  • 1