¡¾µ¼¶Á¡¿½ÏÏêϸ½éÉÜ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]