グローバル変数の値を変更したいと考えています。関数を正常に実行すると、完全に機能します。でも、ティーで実行するときはそうではありません。画面とファイルの両方に出力するには、ティーが必要です。
Tee がこの動作を引き起こすのはなぜですか? Tee を使用して関数内のグローバル変数を変更する方法はありますか?
FCT_main()
{
MY_VAR=2
}
MY_VAR=1
echo "MY_VAR=$MY_VAR" # -> print 1.
FCT_main | tee file.out
echo "MY_VAR=$MY_VAR" # -> print 1, but I expect 2 !
echo "\n"
echo "MY_VAR=$MY_VAR" # -> print 1.
FCT_main
echo "MY_VAR=$MY_VAR" # -> print 2 as expected.