2013-07-19 43 views
23

Tôi có đoạn mã sau vào một file sh:bash cho vòng lặp: một loạt các con số

for num in {1..10} 
do 
    echo $num 
done 

nào nên in số từ 1 đến 10. Tuy nhiên, đây là những gì tôi nhận được:

{1..10} 

Ngoài ra, sử dụng sytax C-như không hoạt động cũng như:

for ((i=1; i<=10; i++)) 

này được tôi một lỗi:

Syntax error: Bad for loop variable 

Phiên bản của bash tôi có là 4.2.25.

+0

Mã của bạn hoạt động tốt đối với tôi trong 4.1.5 –

+0

Bạn cũng có thể in một loạt các số sử dụng seq. Hãy thử "seq 1 5". – devnull

+0

Nếu bạn thực thi 'bash' là' sh', nó sẽ không hoạt động; nếu bạn thực thi 'bash' là' bash', nó sẽ hoạt động. –

Trả lời

35

Mã nên thực hiện như sau (chú ý công việc nói bash, không sh):

#!/bin/bash 
echo "Bash version ${BASH_VERSION}..." 
for i in {0..10..1} 
    do 
     echo "Welcome $i times" 
done 

nguồn http://www.cyberciti.biz/faq/bash-for-loop/

+0

Điều này: (lưu ý các shebang nói bash, không sh) –

+2

Các '..1' là không cần thiết. –

+0

ít nhất nó có vẻ với tôi rằng ông đang thực hiện một kịch bản shell trên một bash shell. – Pradheep

Các vấn đề liên quan