在与脚本执行相同的行中读取用户输入

时间:2013-10-28 15:40:13

标签: bash shell

我有一个名为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

1 个答案:

答案 0 :(得分:1)

因此,您希望将参数传递给脚本而不是读取它。在这种情况下,请使用$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