ºìÁªLinuxÃÅ»§
Linux°ïÖú

korn shell»ù´¡ÖªÊ¶

·¢²¼Ê±¼ä:2006-04-21 00:42:24À´Ô´:ºìÁª×÷Õß:golshing
¡¾µ¼¶Á¡¿½ÏÏêϸ½éÉÜIBM AIX²Ù×÷ϵͳÉϳ£ÓõÄkorn shellµÄ»ù´¡ÖªÊ¶¡£



Korn ShellÖ´ÐÐÃüÁîµÄ˳Ðò

1.¹Ø¼ü×Ö£¬Èçif,for,functionµÈ

2.±ðÃû(Aliases)

3.ÄÚ²¿ÃüÁÈçcd, whenceºÍº¯ÊýµÈ

4.º¯ÊýFunctions

5.½Å±¾Scripts¡¢ÔÚPATHÖеĿÉÖ´ÐгÌÐò

¡ùÕÒµ½ÃüÁîµÄ¸ùÔ´ÓÃÏÂÃæµÄÃüÁ

whence -v command

»ò£º

type command

Alias(±ðÃû)

alias aliasname=command

È¡ÏûÒ»¸ö±ðÃû£º

unalias aliasname

Áгöµ±Ç°ËùÓеıðÃû£º

alias

¡¾TIP¡¿

ÓÃÀ´ÏÔʽµ±Ç°Ä¿Â¼ÏµÄËùÓÐĿ¼µÄ±ðÃû£ºalias ldir='ls -l|grep ^d'

ÌáÎÊ£ºalias|grep ^ls»á¿´µ½:ls=/usr/bin/ls£¬ÇëÎÊ£ºÏµÍ³ÎªÊ²Ã´Òª¶¨ÒåÕâ¸ö±ðÃû£¿

Functions(º¯Êý)

¶¨ÒåµÄλÖãº

Function¿ÉÒÔÔÚÃüÁîÐС¢.kshrc(ENVÎļþ,¼ûÏÂƪ)»òÔÚshell scriptÖж¨Òå

¶¨ÒåµÄ·½·¨£º

function funcname {

shell commands

}

»ò:

funcname () {

shell commands

}

ÁгöËùÓе±Ç°µÄfunctions

functions

È¡ÏûÒ»¸öfunction

unset -f funcname

Êä³öÒ»¸öfunction:

typeset -fx funcname

È¡ÏûÊä³öÒ»¸öfunction:

typeset +fx funcname

¡ùfunctionÊÇ"typeset -f"µÄÔ¤¶¨ÒåµÄ±ðÃû

Korn Shell µÄÑ¡Ïî

Korn ShellÓÐһЩѡÏÈç¹ûÔÚ.kshrc(ENVÎļþ£¬¼ûÏÂƪ)ÖÐÉ趨ËûÃÇ£¬ÄÇôËûÃǾÍÊÇÈ«¾ÖµÄ£¬²¢ÇÒ¿ÉÒÔ´«µÝ¸øsubshell¡£

ÁгöËùÓеÄKorn ShellÑ¡Ï

set -o

ÉèÖÃÒ»¸öÑ¡Ïî

set -o OptionName

È¡ÏûÒ»¸öÑ¡Ïî

set +o OptionName

Korn Shell Ñ¡ÏîµÄÒâÒå

allexport ×Ô¶¯exportËæºó¶¨ÒåµØËùÓбäÁ¿(ÎļþÃûÖв»º¬ÓÐ.).(µÈÓÚset -a)

errexit Èç¹ûÒ»¸öÃüÁîµÄ·µ»ØÖµ²»Îª0£¬¾ÍÖ´ÐдíÎóÏÝÚå(ERR trap)¡£µ«¶ÔprofileÎļþÀýÍâ¡£(µÈÓÚset -e)

bgnice ºǫ́½ø³ÌÒԽϵ͵ÄÓÅÏȼ¶ÔËÐУ¬ÕâÊÇȱʡֵ

emacs ʹÓÃemacs·ç¸ñµÄÐÐÄڱ༭Æ÷

gmacs ʹÓÃgmacs·ç¸ñµÄÐÐÄڱ༭Æ÷

ignoreeof Óöµ½Îļþ½áÊø·ûʱ²»Í˳öshell¡£ÒªÏëÍ˳öshell±ØÐëʹÓÃexitÃüÁî»òÕßÇÃCtrl-D 11´Î¡£

keyword ΪÁ˱£³ÖÓëBourne shellµÄ¼æÈÝÐÔ¡£(set -k)

markdirs ÔÚÍê³ÉÎļþÃûÌæ»»ºóÔÚĿ¼ÃûºóÃæ¼ÓÒ»¸öбÏß(/)¡£

monitor Runs background jobs in a separate process and prints a line upon completion. (set -m)

noclobber ²»ÄÜÓÃ>Öض¨Ïò·û¸²¸ÇÒѾ­´æÔÚµÄÎļþ¡£Ö»ÄÜÓÃ>|À´ÖØдÒѾ­´æÔÚµÄÎļþ¡£noexec ¶ÁÈëÃüÁîÖ»¼ì²éËüµÄÓï·¨µ«²»Ö´ÐС£ (set -n)

noglob ½ûÖ¹ÎļþÃûÌæ»»¡£(set -f)

nolog ²»ÔÚÀúÊ·ÎļþÖб£´æº¯ÊýµÄ¶¨Òå¡£

nounset ÔÚÊÔͼÀ©Õ¹Ã»Óж¨ÒåµÄ±äÁ¿Ê±ÏÔʾ´íÎóÐÅÏ¢¡£(set -u)

privileged ½ûÖ¹Ö´ÐÐHOME/.profile file ²¢ÇÒʹÓÃ/etc/suid _profile ¶ø²»ÊÇENVÎļþ¡£ (set -p)

verbose ÏÔʾshell¶ÁÈëµÄÊäÈë.(set -v)

trackall Designates each command as a tracked alias when first encountered.(set -h)

vi ʹÓÃvi·ç¸ñµÄÐÐÄڱ༭Æ÷

viraw Processes each character as it is typed in vi mode.

xtrace ÔÚÔËÐÐÃüÁîÇ°£¬ÏÈÏÔʾÃüÁî.(set -x)

¡ù¾ÙÀý£ºÊ¹vi³ÉΪinline editor

set -o vi

Debuging(µ÷ÊÔ)

µ÷ÊÔÒ»¸öshell scriptµÄ·½·¨£º

#set -o xtrace

È»ºóÔÙÔËÐÐshell

»òÕßÖ±½ÓÖ´ÐÐ

#ksh -x shellprog args

»ò

#sh -v shellprog args

Debug Ò»¸öfunction

#typeset -ft funcname

Prompts(Ìáʾ)

PS1 Ö÷shellÌáʾ·û(ÆÕͨÓû§È±Ê¡ÊÇ $,¶ørootȱʡÊÇ#)

PS2 ¼ÌÐøÌáʾ·û( ȱʡ > )

ʲôÊǼÌÐøÌáʾ·û?

ÔÚÃüÁîÐÐÉÏÊäÈë

for i in 11 12 13 14 15 16

do

lspv hdisk$i

done

´ÓµÚ¶þÐпªÊ¼£¬ÆÁÄ»×î×óÃæ¾ÍÊǼÌÐøÌáʾ·û¡£

PS3 ÔÚÑ¡ÔñÑ­»·ÖеÄÑ¡ÔñÌáʾ·û(ȱʡÊÇ #? )

PS4 µ÷ÊÔÌáʾ·û (ȱʡÊÇ + )

¡¾tip¡¿£ºÃüÁîÐÐÉÏÌáʾÖ÷»úÃû³ÆºÍµ±Ç°Ä¿Â¼

export PS1="[`hostname`-"'$PWD]'

×¢Ò⣺һ¶¨ÊÇ""°üÀ¨``²ÅÄÜÈ¡µÃÃüÁîµÄ½á¹û£¬''°üÀ¨±äÁ¿²ÅÄÜËæʱ¸ü¸Ä±äÁ¿µÄÖµ

Ч¹û£º

[hostname-/tmp]
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ