Linux:Paraméterek
(Változatok közti eltérés) (Új oldal, tartalma: „=Paraméterek= * Készíts programot parmstest néven, mely kiírja saját nevét, paramétereinek számát, a paraméterek listáját, és a paramétereket egyenként! (…”) |
(→Paraméterek) |
||
(7 közbeeső változat nincs mutatva) | |||
1. sor: | 1. sor: | ||
=Paraméterek= | =Paraméterek= | ||
- | + | <kivonat>$0, $#, $@, exit, shift</kivonat> | |
- | * Készíts programot parmstest néven, mely kiírja saját nevét, paramétereinek számát, a paraméterek listáját, és a paramétereket egyenként! (Példa a kipróbálásra: ''./parmstest alma körte dió'') | + | * Készíts programot parmstest néven, mely kiírja saját nevét, paramétereinek számát, a paraméterek listáját, és a paramétereket egyenként! (Példa a kipróbálásra: ''./parmstest alma körte dió'') <megoldas> |
<code lang="bash"> | <code lang="bash"> | ||
#!/bin/bash | #!/bin/bash | ||
7. sor: | 7. sor: | ||
echo "Paraméterek száma: $#" | echo "Paraméterek száma: $#" | ||
echo "Paraméterlista: $@" | echo "Paraméterlista: $@" | ||
- | echo " | + | echo "Paraméterek egyenként: " |
for I in $@ ; do | for I in $@ ; do | ||
echo $I | echo $I | ||
done | done | ||
</code> | </code> | ||
- | + | </megoldas> | |
- | * Készíts programrészt, mely két paramétert vár. Amennyiben a programot nem két paraméterrel hívjuk meg, adjon hibaüzenetet! | + | * Készíts programrészt, mely két paramétert vár. Amennyiben a programot nem két paraméterrel hívjuk meg, adjon hibaüzenetet! <megoldas> |
<code lang="bash"> | <code lang="bash"> | ||
#!/bin/bash | #!/bin/bash | ||
22. sor: | 22. sor: | ||
fi | fi | ||
</code> | </code> | ||
- | + | </megoldas> | |
- | * Készíts programot, mely 10-nél több paramétert is képes sorban megjeleníteni! Tehát a <b>sokParameter 1 2 3 4 5 6 7 8 9 10 11 12 13 14</b> eredménye mind a 14 paraméter megjelenítése legyen a válasz! (Ne feledje, a paraméterek csak $9-ig érhetők el!) | + | * Készíts programot, mely 10-nél több paramétert is képes sorban megjeleníteni! Tehát a <b>sokParameter 1 2 3 4 5 6 7 8 9 10 11 12 13 14</b> eredménye mind a 14 paraméter megjelenítése legyen a válasz! (Ne feledje, a paraméterek csak $9-ig érhetők el!) <megoldas> |
<code lang="bash"> | <code lang="bash"> | ||
#!/bin/bash | #!/bin/bash | ||
30. sor: | 30. sor: | ||
done | done | ||
</code> | </code> | ||
- | + | </megoldas> | |
- | * Oldja meg az előző feladatot úgy, hogy egy paraméter feldolgozása után a további paramétereket a shift paranccsal rotálva éri el! | + | * Oldja meg az előző feladatot úgy, hogy egy paraméter feldolgozása után a további paramétereket a shift paranccsal rotálva éri el! <megoldas> |
<code lang="bash"> | <code lang="bash"> | ||
#!/bin/bash | #!/bin/bash | ||
38. sor: | 38. sor: | ||
shift | shift | ||
done | done | ||
- | |||
</code> | </code> | ||
- | + | </megoldas> | |
- | * Készíts programot parmtest néven, mely paraméterként két paramétert vár, egy kezdő- és egy végértéket, melyek közül bármelyik elhagyható. A program dologozza fel a két paramétert úgy, hogy azok tetszőleges sorrendben legyenek megadhatók a következő formában: <b>parmtest -v vegertek -k kezdoertek</b> (tehát a <b>parmtest -k kezdoertek -v vegertek</b> is helyes megadási forma). A feldogozás végén a script a kezdőértéket K-ba, a végértéket V-be tegye, és jelenítse meg e két adatot! | + | * Készíts programot parmtest néven, mely paraméterként két paramétert vár, egy kezdő- és egy végértéket, melyek közül bármelyik elhagyható. A program dologozza fel a két paramétert úgy, hogy azok tetszőleges sorrendben legyenek megadhatók a következő formában: <b>parmtest -v vegertek -k kezdoertek</b> (tehát a <b>parmtest -k kezdoertek -v vegertek</b> is helyes megadási forma). A feldogozás végén a script a kezdőértéket K-ba, a végértéket V-be tegye, és jelenítse meg e két adatot! <megoldas> |
<code lang="bash"> | <code lang="bash"> | ||
#!/bin/bash | #!/bin/bash | ||
- | + | # Kezdőérték és végérték default értékének beállítása | |
K="Nincs megadva" | K="Nincs megadva" | ||
+ | V="Nincs megadva" | ||
I=$1 | I=$1 | ||
while [ "$I" != "" ] | while [ "$I" != "" ] | ||
do | do | ||
case $I in | case $I in | ||
- | -v) | + | -v | --veg ) |
- | + | shift | |
- | + | V=$1 | |
- | -k) shift | + | ;; |
+ | -k | --kezdet ) | ||
+ | shift | ||
K=$1 | K=$1 | ||
;; | ;; | ||
- | *) echo "Érvénytelen paraméter. A program | + | *) echo "Érvénytelen paraméter. A program használata: $0 [-v kezdet] [-k vég]" |
exit 1 | exit 1 | ||
;; | ;; | ||
65. sor: | 67. sor: | ||
echo "Kezdőérték=$K, végérték=$V" | echo "Kezdőérték=$K, végérték=$V" | ||
</code> | </code> | ||
- | + | </megoldas> | |
- | + | ||
- | + | ||
- | + | ||
- | < | + | |
- | + | ||
- | + |
A lap jelenlegi, 2016. április 22., 12:16-kori változata
Paraméterek
Kivonat: $0, $#, $@, exit, shift
- Készíts programot parmstest néven, mely kiírja saját nevét, paramétereinek számát, a paraméterek listáját, és a paramétereket egyenként! (Példa a kipróbálásra: ./parmstest alma körte dió)
- Készíts programrészt, mely két paramétert vár. Amennyiben a programot nem két paraméterrel hívjuk meg, adjon hibaüzenetet!
- Készíts programot, mely 10-nél több paramétert is képes sorban megjeleníteni! Tehát a sokParameter 1 2 3 4 5 6 7 8 9 10 11 12 13 14 eredménye mind a 14 paraméter megjelenítése legyen a válasz! (Ne feledje, a paraméterek csak $9-ig érhetők el!)
- Oldja meg az előző feladatot úgy, hogy egy paraméter feldolgozása után a további paramétereket a shift paranccsal rotálva éri el!
- Készíts programot parmtest néven, mely paraméterként két paramétert vár, egy kezdő- és egy végértéket, melyek közül bármelyik elhagyható. A program dologozza fel a két paramétert úgy, hogy azok tetszőleges sorrendben legyenek megadhatók a következő formában: parmtest -v vegertek -k kezdoertek (tehát a parmtest -k kezdoertek -v vegertek is helyes megadási forma). A feldogozás végén a script a kezdőértéket K-ba, a végértéket V-be tegye, és jelenítse meg e két adatot!