是否可以将调用的值赋给递归脚本或变量?
这是我的代码,错误显示在第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

谢谢。

最佳答案

函数中有两个echo语句,因此如果derc>0,则函数的输出包含一个换行符。错误消息指示您正在尝试执行:

((RIS = 2 * 1
1))

删除echo $DECR或将其更改为打印到stderr:echo $DECR >&2

关于linux - 递归bash Linux脚本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35198870/

10-11 14:38