< Linux

Ksh

Szerző: Sallai András

Copyright © 2018, Sallai András

Licenc: 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)