Felhasználói eszközök

Eszközök a webhelyen


oktatas:linux:shell_programozas

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

Előző változat mindkét oldalon Előző változat
Következő változat
Előző változat
Utolsó változat Következő változat mindkét oldalon
oktatas:linux:shell_programozas [2020/02/13 16:29]
admin [Tömbök]
oktatas:linux:shell_programozas [2020/02/25 22:40]
admin [A set parancs]
Sor 4: Sor 4:
  
   * **Szerző:​** Sallai András   * **Szerző:​** Sallai András
-  * Copyright (c) Sallai András, 2011-2013, 2016-2020+  * Copyright (c) Sallai András, 2011-2020
   * Licenc: GNU Free Documentation License 1.3   * Licenc: GNU Free Documentation License 1.3
   * Web: http://​szit.hu   * Web: http://​szit.hu
Sor 456: Sor 456:
 </​code>​ </​code>​
  
 +==== Dupla zárójel ====
  
 +A következő program a szam változó értéket 1-gyel növeli:
 +<code bash szamol.sh>​
 +#!/bin/bash
  
 +szam=3
 +szam=$((szam+1))
  
 +echo $szam
 +</​code>​
  
  
 +Variációkat láthatunk a növelésre:​
 +<​code>​
 +szam=$((szam+1))
 +((szam=szam+1))
 +((szam+=1))
 +((szam++))
 +</​code>​
  
 +==== A let kulcsszó használata ====
  
 +<code bash>
 +#!/bin/bash
 +
 +szam=3
 +let "​szam=szam+1"​
 +echo $szam
 +</​code>​
 +
 +Variációk a let kulcsszó használatára:​
 +<code bash>
 +let "​szam=szam+1"​
 +let "​szam+=1"​
 +let "​szam++"​
 +let szam++
 +</​code>​
 +
 +==== A bc ====
 +
 +<code bash>
 +#!/bin/bash
 +
 +declare -i szam=4
 +bc <<<​ "​$szam+2"​
 +
 +</​code>​
 +
 +<code bash>
 +#!/bin/bash
 +
 +declare -i szam=4
 +echo "​$szam+2"​ | bc
 +
 +</​code>​
 +===== Változó deklaráció =====
 +
 +<code bash>
 +#!/bin/bash
 +
 +declare -i szam
 +szam=4
 +szam=szam+1
 +szam+=1
 +echo $szam
 +
 +</​code>​
 +
 +<code bash>
 +#!/bin/bash
 +
 +declare -i szam=4
 +szam=szam+1
 +szam+=1
 +echo $szam
 +</​code>​
  
 ===== Szelekció ===== ===== Szelekció =====
Sor 1100: Sor 1170:
  
 Megoldás lehet még az awk használata:​ Megoldás lehet még az awk használata:​
 +
 <code bash> <code bash>
 echo "​ÁRVÍZTŰRŐ"​ | awk '​{print tolower($0)}'​ echo "​ÁRVÍZTŰRŐ"​ | awk '​{print tolower($0)}'​
 </​code>​ </​code>​
 +
 +
 +<code bash>
 +echo "​Árvíztűrő"​ | awk '​{print toupper($0)}'​
 +</​code>​
 +
  
 A Bash megoldás esetén használhatunk egyetlen ^ vagy , karaktert. Ekkor csak az első A Bash megoldás esetén használhatunk egyetlen ^ vagy , karaktert. Ekkor csak az első
Sor 1196: Sor 1273:
 echo ${tomb[0]} echo ${tomb[0]}
  
 +</​code>​
 +
 +==== Heredoc szintaxis ====
 +
 +<code bash naplo.sh>​
 +#!/bin/bash
 +
 +date=$(date "​+%Y-%m-%d"​)
 +
 +cat << EOT
 +
 +==========
 +
 +$date
 +
 +Óra:
 +Téma:
 +Hiányzók:
 + 1 óra:
 + 2 óra:
 + 3 óra:
 +Dolgozat:
 +Hetes:
 +
 +EOT
 +
 +</​code>​
 +
 +==== Üres sorok törlése ====
 +<​code>​
 +cat fajl.txt | sed '/​^$/​d'​
 +</​code>​
 +
 +==== Adott karakterek törlése ====
 +
 +A következő karakterek törlése:
 +
 +| . ? - , |
 +
 +<​code>​
 +cat fajl.txt | sed '/​[\.?​-\,​]//​g'​
 </​code>​ </​code>​
  
Sor 2141: Sor 2259:
 </​code>​ </​code>​
  
-Prábluk ​meg a scriptet végrehajtani set -e használata nélkül is. +Próbáljuk ​meg a scriptet végrehajtani set -e használata nélkül is. 
  
 ==== Zónafájl felvétele ==== ==== Zónafájl felvétele ====
Sor 2186: Sor 2304:
 </​code>​ </​code>​
  
 +==== Kártyalapok kiíratása ====
 +
 +<code bash lapok.sh>​
 +#!/bin/bash
 +
 +function lap() {
 + x=$1
 + y=$2
 +
 +    f="​\u2660" ​ # pikk
 +    tput cup $y $x
 + echo -e "​\u250c\u2500\u2500\u2510"​
 + tput cup $((y+1)) $x
 + echo -e "​\u25026$f\u2502"​
 + tput cup $((y+2)) $x
 + echo -e "​\u2514\u2500\u2500\u2518"​
 +}
 +
 +clear
 +
 +lap 5 5
 +lap 10 5
 +
 +</​code>​
 +
 +Az eredmény:
 +<​code>​
 +     ​┌──┐ ┌──┐
 +     ​│6♠│ │6♠│
 +     ​└──┘ └──┘
 +</​code>​
 +
 +A vonalak:
 +<​code>​
 +                u2550   u252c
 +u250c ┌          ─      ┬           ​┐ ​ u2510
 +
 +u2502 │           
 +
 +u251c ├                 ┼ u253c     ┤ u2524
 +
 +u2514 └                 ​┴ ​          ┘ u2518  ​
 +                        u2534
 +</​code>​
 +
 +
 +
 +  * treff (♣) -- u2663
 +  * káró (♦) -- u2666
 +  * kőr (♥) -- u2665
 +  * pikk (♠) -- u2660
  
 +  * További unicode: https://​unicode-table.com/​hu/​
 ===== Külső linkek ===== ===== Külső linkek =====
   * http://​tldp.org/​LDP/​Bash-Beginners-Guide/​html/​ 2018)   * http://​tldp.org/​LDP/​Bash-Beginners-Guide/​html/​ 2018)
oktatas/linux/shell_programozas.txt · Utolsó módosítás: 2020/03/07 22:01 szerkesztette: admin