2013-07-19 15 views
23

Ben bir .sh dosyasında aşağıdaki kod:bash: sayılar bir dizi

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

1'den 10'a kadar sayıları yazdırmak Ama bu ne alıyorum olmalıdır hangisi:

{1..10} 

Ayrıca C-benzeri sytax kullanarak yanı çalışmaz:

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

Bu bana bir hata alır:

Syntax error: Bad for loop variable 

Sahip olduğum bash sürümü 4.2.25.

+0

Kodunuz 4.1.5 –

+0

Ayrıca bir dizi yazdırabilirsiniz benim için çalışıyor seq kullanarak sayıların "Sıra 5'i" dene. – devnull

+0

Eğer "bash" yi "sh" olarak çalıştırırsanız, işe yaramaz; bash'ı bash olarak çalıştırırsanız işe yarayacaktır. –

cevap

35

kod aşağıdaki gibi (shebang bash diyor sh değil unutmayın) olmalıdır:

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

kaynak http://www.cyberciti.biz/faq/bash-for-loop/

+0

Bu: (shebang diyor ki bash, sh değil) –

+2

'..1 'gereksizdir. –

+0

en azından bana bir bash kabuğunda bir kabuk betiği yürüttüğünü görüyor. – Pradheep