私のオリジナルコード:バッシュスクリプト - リターンは、実際に何かを返す
# Factorial Using Recursion
res=1
fact()
{
x=$1
if [ $x -le 1 ]
then
echo "Actual - $res"
return `expr $res`
else
#echo $x
res=$(($res * $x))
echo "($res)"
fact $[$x-1]
fi
}
fact $1
echo "Factorial of $1 = $?"
($res
に格納されている)結果は、私が何をしたい確かであり、また、正確です。でも何とか返ってきて$?
で捕まえてしまうと間違ってしまいます。
'return'は任意のデータを返すものではありません。 *終了ステータス*を返します。値を返すには、標準出力に書き込むか、グローバル変数に格納します。 (いいえ、 "適切な"プログラミングは 'bash'には必ずしも適用できません) – chepner