2016-09-19 12 views
1

まあ、私はシェルスクリプトのビットを練習しようとしていますが、ループエクササイズ中にこれに固執しています。私は単にループの条件として何らかの数字の入力を使用したいと思っています。whileループへのユーザー入力の使い方

#!/bin/bash 

a=0 
input="" 
echo "Type any number" 

read $input 

while [$a -lt $input] 
do 
    echo $a 
    a=`expr $a + 1` 
done 
+1

を、スクリプトのほとんどは、文字列の内部にあります。一度それを世話したら、http://shellcheck.net –

答えて

2

あなたは、このようなスクリプトを持っている疑問に思うかもしれません:開始について

#!/bin/bash 

a=0 
input="" 
echo "Type any number" #here you forgot to close string with " 

read input #here you don't need $ 


while [ $a -lt $input ] #note extra spaces after [ and before ] 
         #tricky part here is that '[' is a program 
         #and '$a -lt $input ]' are just its params 
         #this is why you need add extra spaces  
do 
    echo $a 
    a=`expr $a + 1` 

done 
+0

おかげで、これがうまくいった。 –