0

我有一个名为 fib.sh 的 BASH 脚本。该脚本读取用户输入(数字)并执行计算。我希望能够打字

$ ./fib.sh 8

其中 8 是输入

目前,我必须等待下一行输入。

$ ./fib.sh 
$ 8

脚本

#!/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
4

1 回答 1

2

因此,您想将参数传递给脚本而不是读取它。在这种情况下,使用$1如下所示:

#!/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
于 2013-10-28T15:42:04.793 回答