次のコードは、Parse_Short_Switches()が呼び出される方法に応じて動作が異なります。result = $(Parse_Short_Switches)を使用して関数 'Parse_Short_Switches'を呼び出した後、$ error_flagの値は予想どおり-1に設定されません。
単純にParse_Short_Switchesを使用して関数 'Parse_Short_Switches'を呼び出した後、$ error_flagの値は予想どおり-1に設定されます。
どんな助けも大歓迎です。ありがとう
#!/bin/bash
function Parse_Short_Switches()
{
echo "error_flag inside of the function= $error_flag" 1>&2
error_flag="-1"
echo "blah blah ..."
}
# --- MAIN ---
error_flag="999"
echo "error_flag= $error_flag"
#result=$(Parse_Short_Switches)
Parse_Short_Switches
echo "error_flag= $error_flag"