next up previous contents index
Next: Kommandoen whence Up: Korn skallet Previous: Editering på kommando-linja

Aliaser i ksh

Ein anna viktig eigenskap ved ksh er muligheten for å definere aliaser  . Aliaser tillet ein å forandre miljøet rundt ksh slik at kommandoar som ein skriv inn på kommando-linja blir forandra av ksh til andre, alias, kommandoar før dei vert eksekverte. Denne substitusjonen med aliaser for kommando namn ver kalla for alias ekspansjon  ( eng: alias expansion ). La oss definere eit alias:

$ alias rm="rm -i"
$
Dersom ein no eksekverer kommandoen "rm" vil skallet ekspandere kommandoen til "rm -i".

Det er fleire reglar knytta til aliaser. Eit alias kan inneholde så mange ord som ein vil ha, så lenge ein omsluttar dei med hermetegn i alias kommandoen. Alias erstatninga vil bli utført kun på det første ordet på kommando-linja,- og på det første ordet av kvart element i ein røyrledning.


$ alias grep="fgrep -i"
$ grep hallo fila | grep grep
vil ekspandere til kommando-linja:

fgrep -i hallo fila | fgrep -i grep
I tilleg vil ikkje kommandoar som startar med / ( slash ), for å spesifisere fullt stinamn, ikkje bli prøvt å ekspandere.

Ein kan fjerne aliaser med kommandoen unalias. unailias


$ rm
$
Kommandoen alias utan parametre vil liste ut alle definerte alias.

$ alias
autoload='typeset -fu'
command='command '
false='let 0'
functions='typeset -f'
h=history
hash='alias -t -'
history=h
integer='typeset -i'
local=typeset
ls=/bin/ls
nohup='nohup '
r='fc -e -'
stop='kill -STOP'
suspend='kill -STOP '
true=:
type='whence -v'
$
Ein kan lage så mange aliaser ein berre vil, men sidan aliaser blir handtert internt av ksh, vil dei ikkje overleve fleire sesjonar. Derfor må aliaser vere definert i oppstart-filane for ksh.
next up previous contents index
Next: Kommandoen whence Up: Korn skallet Previous: Editering på kommando-linja
Trond.Kandal@itea.ntnu.no