是否可以将对递归脚本的调用值赋给变量? 这是我的代码,错误说在第10行:RIS = 2 * 1 ... 3 * 2等 这似乎是件好事,但RIS没有分配到真正的价值。
DECR=$1
if [[ ${DECR} -gt 0 ]] ; then
echo ${DECR}
((DECR2 = ${DECR}-1))
((RIS = ${DECR} * `./fattoriale1.sh ${DECR2}`))
else
((RIS=1))
fi
echo ${RIS}
Error: ./fattoriale1.sh: riga 9: ((: RIS = 2 * 1
1: errore di sintassi nell'espressione (il token dell'errore è "1")
./fattoriale1.sh: riga 9: ((: RIS = 3 * 2
2: errore di sintassi nell'espressione (il token dell'errore è "2")
./fattoriale1.sh: riga 9: ((: RIS = 4 * 3
6: errore di sintassi nell'espressione (il token dell'errore è "6")
12
感谢。
答案 0 :(得分:1)
你的函数中有2个echo语句,所以如果DECR> 0然后函数的输出包含换行符。错误消息表明您正在尝试执行:
((RIS = 2 * 1
1))
删除echo $DECR
或将其更改为打印到stderr:echo $DECR >&2