
Eu escrevi um script para executar o comando fatorial, mas estou recebendo este erro
((: 1 <= : syntax error: operand expected (error token is "<=")
Eu não posso consertar isso. O símbolo <= foi tentado com espaços e sem espaços, mas o mesmo o tempo todo. Abaixo está todo o script para o qual o erro indicado acima é exibido na 5ª linha
!/usr/bin/bash
i=1 #nie-zero bo tworzy iloczyn
wynik=1 # nie-zero bo tworzy iloczyn
while (($i <= $1))
do
wynik=$(($wynik * $i))
i=$(($i + 1))
done
echo $wynik
Proszę o pomoc;(
Responder1
Você esqueceu de passar um parâmetro para o seu script:
$ bash -xc 'i=1; (($i <= $1))' bash 2 ; echo $?
+ i=1
+ (( 1 <= 2 ))
0
mas
$ bash -xc 'i=1; (($i <= $1))' bash ; echo $?
+ i=1
+ (( 1 <= ))
bash: ((: 1 <= : syntax error: operand expected (error token is "<= ")
1
Há uma lição aqui sobre validação de entradas...