
関数の戻り値の一部にすることなく、関数内でロギングするために端末にどのように書き込むことができますか?
私のサンプルスクリプトは次のとおりです。
#!/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
標準エラーが別の場所にリダイレクトされない限り、端末に移動します。