A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
Előző változat mindkét oldalon Előző változat Következő változat | Előző változat Következő változat Következő változat mindkét oldalon | ||
oktatas:linux:shell_programozas [2020/02/14 09:45] admin [String darabolása] |
oktatas:linux:shell_programozas [2020/03/07 22:01] admin [Külső linkek] |
||
---|---|---|---|
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 1222: | Sor 1299: | ||
EOT | 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 2167: | 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 2212: | 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) | ||
Sor 2239: | Sor 2383: | ||
* https://www.linuxjournal.com/content/return-values-bash-functions (2020) | * https://www.linuxjournal.com/content/return-values-bash-functions (2020) | ||
* https://linuxhint.com/return-string-bash-functions/ (2020) | * https://linuxhint.com/return-string-bash-functions/ (2020) | ||
+ | * https://github.com/ruanyf/simple-bash-scripts (2020) |