Ho uno script BASH chiamato fib.sh. Lo script legge un input dell'utente (numero) ed esegue un calcolo. Voglio essere in grado di digitare
$ ./fib.sh 8
dove 8 è l'input
Attualmente, devo aspettare la riga successiva per inserire l'input.
$ ./fib.sh
$ 8
copione
#!/bin/bash
read n
a=0
b=1
count=1
fib=$a
while [ $count -lt $n ];
do
fib=$[$a+$b]
a=$b
b=$fib
count=$[$count+1]
done
echo "fib $n = $fib"
exit 0
risposte:
1 per risposta № 1Quindi vuoi passare un parametro allo script invece di leggerlo. In questo caso, usa $1
come mostrato qui:
#!/bin/bash
n=$1 <---- this will take from the call of the script
echo "I have been given the parameter $n"
a=0
b=1
count=1
fib=$a
while [ $count -lt $n ];
do
fib=$[$a+$b]
a=$b
b=$fib
count=$[$count+1]
done
echo "fib $n = $fib"
exit 0