Linux:Ciklusok
(Változatok közti eltérés)Admin (vitalap | szerkesztései)
(Új oldal, tartalma: „=Ciklusok= * Készíts shell scriptet, mely a billentyűzetről bekért szöveget 10-szer írja ki! A program sorszámozza az egyes sorokat! <code lang="bash"> #!/bin/bas…”)
Újabb szerkesztés →
(Új oldal, tartalma: „=Ciklusok= * Készíts shell scriptet, mely a billentyűzetről bekért szöveget 10-szer írja ki! A program sorszámozza az egyes sorokat! <code lang="bash"> #!/bin/bas…”)
Újabb szerkesztés →
A lap 2010. március 28., 19:09-kori változata
Ciklusok
- Készíts shell scriptet, mely a billentyűzetről bekért szöveget 10-szer írja ki! A program sorszámozza az egyes sorokat!
#!/bin/bash echo -n "Add meg a szöveget: " read SZOVEG # Kiírjuk 10-szer I=1 while [ $I -le 10 ] ; do echo "$I: $SZOVEG" I=`expr $I + 1` done
- Készíts shell scriptet, mely a NEVEK változó tartalmát (mely szóközzel elválasztott keresztneveket tartalmaz) egymás utáni sorokban írja ki!
#!/bin/bash NEVEK="Péter Ilona Béla Pál János" for NEV in $NEVEK ; do echo $NEV done
- A cimek.txt fájl e-mail címeket tartalmaz. Készíts shell scriptet, mely az ebben szereplő címekre egy teszt levelet küld!
#!/bin/bash DATAFILE="cimek.txt" CIMEK=`cat $DATAFILE` for CIM in $CIMEK ; do echo "Levél küldése $CIM címre" echo "Ez teszt levél, kérem törölje." | mail -s "teszt levél" $CIM done
A cimek.txt fájl tartalma:
test1@freemail.hu test2@gmail.com user3@vipmail.hu
- Készíts shell scriptet, mely 3-tól 20-ig kettes lépésközzel ír ki számokat!
#!/bin/bash LISTA=`seq 1 2 10` for I in $LISTA ; do echo $I done
- Készíts shell scriptet, mely a nap minden órájára kiírja az akkor helyes köszönés formát! (pl reggel 8-kor "jó reggelt kívánok").
#!/bin/bash for ORA in `seq 0 1 23`; do N="ejszakat" if [ $ORA -ge 5 -a $ORA -le 8 ] ; then N="reggelt" fi if [ $ORA -ge 9 -a $ORA -le 18 ] ; then N="napot" fi if [ $ORA -ge 18 -a $ORA -le 22 ] ; then N="estet" fi echo "[$ORA órakor]: Jó $N kívánok." done
- Készíts shell scriptet, mely sorban feldolgozza az /etc könyvtár .conf kiterjesztésű fájljait! (A feldolgozás jelentse azt, hogy a program kiírja: "Feldolgozás: <fileneve>"!)
#!/bin/bash for FILE in /etc/*.conf ; do echo "Feldolgozás: $FILE" done
- Készíts olyan shell scriptet, mely másolatot készít a 10 bájtnál nagyobb méretű .txt fájlokról, hozzáfűzve az aktuális dátumot a fájlnévhez ééééhhnn formában.
#!/bin/bash # Magyar Péter DATUM=`date +%Y%m%d` for FILE in ~/*.txt; do HOSSZ=`ls -l $FILE | cut -d" " -f5` if [ $HOSSZ -ge 10 ] ; then F2="$FILE.$DATUM" cp $FILE $F2 fi done
- Készíts shell scriptet, mely a billentyűzetről beolvasott sorokat nagybetűssé alakítja! A programot a "vege" szó begépelésével lehessen megállítani!
#!/bin/bash while read SOR do # A feltétel igazsága esetén lefut a break parancs [ $SOR = "vege" ] && break echo $SOR | tr [a-z] [A-Z] done
- Készíts shell scriptet, mely a NEVEK változó tartalmát (mely szóközzel elválasztott keresztneveket tartalmaz) egymás utáni sorokban írja ki!
#!/bin/bash NEVEK="Péter Ilona Béla Pál János" for NEV in $NEVEK ; do echo $NEV done
- A cimek.txt fájl e-mail címeket tartalmaz. Készíts shell scriptet, mely az ebben szereplő címekre egy teszt levelet küld!
#!/bin/bash DATAFILE="cimek.txt" CIMEK=`cat $DATAFILE` for CIM in $CIMEK ; do echo "Levél küldése $CIM címre" echo "Ez teszt levél, kérem törölje." | mail -s "teszt levél" $CIM done
- Az adatok.txt fájl soronként két, szóközzel elválasztott számot tartalmaz. Készíts shell scriptet, mely az ebben levő számpárokat egy téglalap oldalaiként dolgozza fel, és kiírja azok kerületét és területét!
#!/bin/bash DATAFILE="adatok.txt" cat $DATAFILE | while read I ; do A=`echo $I | cut -d' ' -f1` B=`echo $I | cut -d' ' -f2` KER=`expr $A + $A + $B + $B` TER=`expr $A \* $B` echo "[$A, $B]: K=$KER, T=$TER" done
Az adatok.txt fájl tartalma:
1 2 3 4 5 6 7 8 9 10