関数から端末に印刷するが戻り値として返さないようにするにはどうすればよいですか?

関数から端末に印刷するが戻り値として返さないようにするにはどうすればよいですか?

関数の戻り値の一部にすることなく、関数内でロギングするために端末にどのように書き込むことができますか?

私のサンプルスクリプトは次のとおりです。

#!/bin/bash

my_fun() {
  echo "this is for logging purposes"
  retVal="Return only this"
  echo "$retVal"
}

returnedValue=$(my_fun)
if [ "Return only this" = "$returnedValue" ]; then
  echo "Good return"
else
  echo "Bad return"
fi

出力はされますが、Bad return端末には印刷されませんthis is for logging purposes。 (ターミナルに行きたいので)Return only this戻らずにただ戻れる方法は何ですか?this is for logging purposes

ベストアンサー1

出力を標準エラーにリダイレクトできます。

echo "this is for logging purposes" >&2

標準エラーが別の場所にリダイレクトされない限り、端末に移動します。

おすすめ記事