簡體   English   中英

遞歸bash Linux腳本

[英]Recursive bash linux script

是否可以將對遞歸腳本的調用的值分配給變量? 這是我的代碼,錯誤提示在第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

謝謝。

您的函數中有2條echo語句,因此,如果DECR> 0,則函數的輸出包含換行符。 錯誤消息表明您正在嘗試執行:

((RIS = 2 * 1
1))

刪除echo $DECR或將其更改為打印到stderr: echo $DECR >&2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM