{# .. #} generuje ciąg liczb lub znaków, podobnie jak range () w Pythonie. Jeśli wykonam polecenie echo {1..5}
w wierszu polecenia, mam:
1 2 3 4 5
Zamiast tego poniższy skrypt bash nie działa zgodnie z oczekiwaniami.
for i in {1..3};
do
echo "Iteration $i"
done
wydrukuje:
Iteration {1..3}
Dlaczego?
* Mogę użyć, seq
ale przeczytałem, że jest nieaktualny ( http://www.cyberciti.biz/faq/bash-for-loop/ )
command-line
bash
Wstrząsnąć 0
źródło
źródło
Odpowiedzi:
Wypróbowałem Twój kod (skopiuj wklej do terminala) i uzyskał inny wynik niż ten, który opublikowałeś:
Używam Linux Mint 12 Lisa (pochodzący z Ubuntu) z wersją bash 4.2.10 (1)
źródło
/bin/sh
IS faktycznie wskazuje na bash, w Debianie i Ubuntu zazwyczaj wskazuje,/bin/dash
która jest w większości zgodna z POSIX, ale nie obsługuje tej samej składni co Bash.