[[oktatas:linux|< Linux]]
====== Ksh ======
* **Szerző:** Sallai András
* Copyright (c) 2018, Sallai András
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]]
* Web: https://szit.hu
===== Bevezetés =====
A ksh másként Korn Shell. A ksh csomaggal telepíthető, és a ksh paranccal indítható.
A KornShell David Korn munkája a Bell laboratóriumban, amit az 1980 évek
elején írt. Az első fejlesztés a Bourne Shell alapján történt.
===== Kivitel =====
Kivitelhez használjuk a print utasítást:
print hello
print 35
print "hello"
===== Escape szekvenciák =====
print \"
print \\
print \'
print "a\tb"
print "a\nb"
^ Escape szekvenciák ^^
^ Escape \\ szekvencia ^ Leírás ^
| \\ | vissza-perjel megjelenítése |
| \" | idézőjel megjelenítése |
| \' | apósztróf megjelenítése |
| \t | tabulátor írása |
| \n | sortörés írása |
===== Változók =====
#!/bin/ksh
szam=7
echo $szam
#!/bin/ksh
szam=7
echo ${szam}
Az alábbi példában idézőjelbe tettük a változót:
szam=7
echo "$szam"
Ebben az esetben a változó értéke behelyettesítődik.
A következő példában a változót idézőjel helyett aposztrófok közé tettük:
szam=7
echo '$szam'
Ebben a formában a változó nem helyettesítődik be, annak neve íródik be
"$" karakterrel együtt.
Egy rendszerváltozó megjelenítése:
echo $PWD
echo ${PWD}
===== Formázott kimenet =====
print -f '%d\n' 3+4
===== Bevitel =====
print -f "Szám: "
read szam
===== Szelekció =====
#!/bin/ksh
set szam = 2
if [ szam -gt 5 ]
then
print "nagyobb 5-nél"
else
print "kisebb mint 5"
fi
#!/bin/ksh
print -f "Igen vagy nem vagy kilép (q): "
read valasz
case $valasz in
igen|Igen|i)
echo Azt mondta igen
;;
no)
echo Nemet mondott
;;
q*|Q*|k*|K*)
exit
;;
*)
echo Ez az alapértelmezett válasz.
echo Nem értem miért nem sikerült
echo értelmes választ adni
;;
esac
===== Iteráció =====
#!/bin/ksh
szam=1
while [[ $szam -ne 0 ]]
do
print -f "Szám: "
read szam
done
#!/bin/ksh
for szam in 1 2 3 4 5
do
echo $szam
done
#!/bin/ksh
szam=-1
until [[ szam -eq 0 ]]
do
print -f "Szám: "
read szam
done
===== Tömb =====
#!/bin/ksh
set -A SZINEK "piros" "kék" "zöld"
print ${SZINEK[0]}
print ${SZINEK[1]}
print ${SZINEK[2]}
===== Irodalom =====
* http://www.bolthole.com/solaris/ksh.html (2018)