シェルプログラミング - コマンドの結果を判断したい

シェル内で削除やコピーを行った時にその結果を判断してエラーログに出力したりしたい。

コマンドの結果の受け取りってどうやるのか?

以下のようにすれば受け取れたけど…これって定石なのかな?

#!/bin/bash

# -f : --force エラーメッセージを表示しない
# > /dev/null 2>&1 : 標準出力、標準エラー出力を捨てる
# -f付けると削除に失敗しても$?=0になるので、結果を取得したい場合は
# 以下のようには記述しするのはダメかな
# rm -f hogehoge.txt > /dev/null 2>&1
rm hogehoge.txt > /dev/null 2>&1

# $?で直前のコマンドの結果を受け取れるけど...
if [ $? -eq 0 ] ; then
  echo "削除成功"
else
  echo "削除失敗"
fi

この記事が気に入ったらサポートをしてみませんか?