Witam
Męcze sie z pętlą while moze mógł by ktoś coś doradzić
#!/bin/bash
x=1;
while [ $x -le 30 ] ; do
echo "Napis pojawił się po raz: $x"
x=$[x + 1]
done
daje wynik :
Napis pojawił się po raz: 1
Napis pojawił się po raz: 2
Napis pojawił się po raz: 3
Napis pojawił się po raz: 4
Napis pojawił się po raz: 5
Napis pojawił się po raz: 6
Napis pojawił się po raz: 7
Napis pojawił się po raz: 8
Napis pojawił się po raz: 9
Napis pojawił się po raz: 10
a ja bardzo chciałbym aby wynik był dwucyfrowy tz:
Napis pojawił się po raz: 01
Napis pojawił się po raz: 02
Napis pojawił się po raz: 03
.......
Napis pojawił się po raz: 30
czy da sie to w jakis łatwy sposób rozwiazać ?
Pozdrawiam
Rozwiązać się da, tylko po co?
#!/bin/bash
x=1;
while [ $x -le 10 ] ; do
#tutaj if sprawdzający czy x jest większe równe 10
echo "Napis pojawił się po raz: $x"
#tutaj else lub sprawdzenie czy x jest w zakresie 1-9
echo "Napis pojawił się po raz: 0$x"
x=$[x + 1]
done
Chociaż dla takiego zakresu liczb 1-10 można by to jeszcze uprościć
#!/bin/bash
x=1;
while [ $x -le 9 ] ; do
echo "Napis pojawił się po raz: 0$x"
x=$[x + 1]
done
x=$[x + 1]
echo "Napis pojawił się po raz: $x"
Jakby się jakoś udało skrócić printf to może tak?
#!/bin/bash
x=1
while [ $x -le 30 ] ; do
printf "Napis pojawił się po raz: "
printf %02d "$x"
printf "\n"
x=$[x + 1]
done
Inaczej - spróbuj podać kilka argumentów do printf, ale tak, żeby formatowanie liczby nie świrowało.
parana
Super!
A teraz:
#!/bin/bash
x=1;
while [ $x -le 30 ] ; do
echo $x | awk '{printf "Napis pojawił się po raz: %02d\n",$1}'
x=$[x + 1]
done