function a() {
read -p "input: " value
echo -n "doubling the value "
return $[ value * 2 ]
}
a
echo "the new value is $?"
輸入 200 → 期望 400,實際輸出 144(400 % 256);輸入 310 → 期望 620,實際 108(620 % 256)。
Shell 函數 `return` 只能返回 0-255 的退出碼**(8 位無符號整數)。超出範圍自動取模 256。
function double() {
read -p "input: " value
echo $[ value * 2 ] # 或 echo $((value * 2))
}
result=$(double)
echo "the new value is $result"
function double() {
read -p "input: " value
DOUBLE_RESULT=$((value * 2))
}
double
echo "the new value is $DOUBLE_RESULT"