Hello,
Lehet amatőr kérdés de én nem jöttem rá.
Adott egy bash script benne egy while ciklus , hogyan tudom megmondani neki, ha a while ciklus végére ért akkor fusson le újra a while ciklus. Tehát mivel tudom viszaküldeni az elejére?
köszi.
üdv
- 1120 megtekintés
Hozzászólások
ciklust is bele lehet tenni ciklusba
==
`Have some wine,' the March Hare said in an encouraging tone.
Alice looked all round the table, but there was nothing on it but tea.
- A hozzászóláshoz be kell jelentkezni
már probáltam de nem jött össze.
A belső while-nek ez lenne a feltétele : while getopts ":1:2:3:4:5:s:" opt; do
lehet a getopts miatt, nem tudom.
A külső while annyiszor futott le amennyiszer kellett de a belső csak egyszer.
- A hozzászóláshoz be kell jelentkezni
És ha függvénybe teszed a ciklust, amit aztán annyiszor hívsz meg, ahányszor akarsz?
--
Coding for fun. ;)
- A hozzászóláshoz be kell jelentkezni
Próbáltam de akkor a getopts nem tudta felvenni a paraméterekt valamiért.
Amugy a ciklusban hívok meg függvényeket és ezek lefutásától és az adott kimenettől függően akarom újra futtatni a ciklust.
- A hozzászóláshoz be kell jelentkezni
Ahh tenyleg egyszerű volt a megoldas a while fetételt kellet atírni
Ez helyett: while getopts ":1:2:3:4:5:s:" opt; do
Ez kellett:
"while :
do
getopts ":1:2:3:4:5:s:" opt
....
done"
Így a while ciklus ismétlődni fog. Csak az a baj, hogy az első futás után a többi futásnál a getopts már nem tudja kezelni a paramétereket...ezt még meg kell oldanom.
Köszi a helpet. Ha még van más ötlet vagy megoldás nyugodtan megírhatjátok legalább tanulok belőle.
- A hozzászóláshoz be kell jelentkezni
A getopts eleg randa tulajdonsaga, hogy noveli a "pointeret" ( OPTIND ) ami bejarja a parametereket. igy ha egyszer bajarod a parameter tombot a pointer vissza kell kergetni az elejere hogy ujra be tudd jarni. OPTIND=1.
==
`Have some wine,' the March Hare said in an encouraging tone.
Alice looked all round the table, but there was nothing on it but tea.
- A hozzászóláshoz be kell jelentkezni