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

LinuxϵÄshell±à³ÌÈëÃÅ

·¢²¼Ê±¼ä:2006-10-21 16:26:58À´Ô´:ºìÁª×÷Õß:snqyss
¡¡Í¨³£Çé¿öÏ£¬ÎÒÃÇ´ÓÃüÁîÐÐÊäÈëÃüÁîÿÊäÈëÒ»´Î¾ÍÄܹ»µÃµ½ÏµÍ³µÄÒ»´ÎÏìÓ¦¡£Ò»µ©ÐèÒªÎÒÃÇÒ»¸ö½Ó×ÅÒ»¸öµÄÊäÈëÃüÁî¶ø×îºó²ÅµÃµ½½á¹ûµÄʱºò£¬ÕâÑùµÄ×ö·¨ÏÔÈ»¾ÍûÓÐЧÂÊ¡£Òª´ïµ½ÕâÑùµÄÄ¿µÄ£¬Í¨³£ÎÒÃÇÀûÓÃshell³ÌÐò»òÕßshell½Å±¾À´ÊµÏÖ¡£
¡¡¡¡Ò»¡¢¼ò½é
¡¡¡¡Shell±à³ÌÓкܶàÀàËÆCÓïÑÔºÍÆäËû³ÌÐòÓïÑÔµÄÌØÕ÷£¬µ«ÊÇÓÖûÓбà³ÌÓïÑÔÄÇÑù¸´ÔÓ¡£Shell³ÌÐò¾ÍÊÇ·ÅÔÚÒ»¸öÎļþÖеÄһϵÁÐLinuxÃüÁîºÍʵÓóÌÐò£¬ÔÚÖ´ÐеÄʱºò£¬Í¨¹ýLinuxÒ»¸ö½Ó×ÅÒ»¸öµØ½âÊͺÍÖ´ÐÐÿ¸öÃüÁî¡£
¡¡¡¡ÏÂÃæÎÒÃÇÀ´¿´Ò»¸ö¼òµ¥µÄshell³ÌÐò£º
¡¡¡¡1¡¢Ê×ÏȽ¨Á¢Ò»¸öÄÚÈÝÈçϵÄÎļþ£¬Ãû×ÖΪdate,½«Æä´æ·ÅÔÚĿ¼ÏµÄbin×ÓĿ¼ÖС£
¡¡¡¡#Program date
¡¡¡¡#usageto ::show the date in this way (×¢ÊÍ)
¡¡¡¡echo ¡°Mr.$USER,Today is:¡±
¡¡¡¡echo date ¡°+%B%d%A¡±
¡¡¡¡echo ¡°Whish you a lucky day !¡±
¡¡¡¡2¡¢±à¼­Íê¸ÃÎļþÖ®ºóËü»¹²»ÄÜÖ´ÐУ¬ÎÒÃÇÐèÒª¸øËüÉèÖÿÉÖ´ÐÐȨÏÞ¡£Ê¹ÓÃÈçÏÂÃüÁ
¡¡¡¡chmod +x date
¡¡¡¡Í¨¹ýÒÔÉϹý³ÌÖ®ºó£¬ÎÒÃǾͿÉÒÔÏñʹÓÃlsÃüÁîÒ»ÑùÖ´ÐÐÕâ¸öshell³ÌÐò.
¡¡¡¡[beichen@localhost bin]$ date
¡¡¡¡Mr.beichen,Today is:
¡¡¡¡January 13 Friday
¡¡¡¡Whish you a lucky day !
¡¡¡¡ÎªÁËÔÚÈκÎĿ¼Àﶼ¿ÉÒÔÖ´ÐÐÕâ¸ö³ÌÐò£¬¿ÉÒÔ½«binµÄÕâ¸öĿ¼Ìí¼Óµ½Â·¾¶ÖÐÈ¥¡£
¡¡¡¡[beichen@localhost bin]$ PATH=$PATH:$HOME/bin
¡¡¡¡(×¢£ºÕâÀïµÄ$HOME´úÌæµÄÊÇ/home/beichen,¶øbinĿ¼ÊÇ×Ô¼º½¨µÄÒ»¸öĿ¼)
¡¡¡¡ÁíÍâÒ»ÖÖÖ´ÐÐdateµÄ·½·¨¾ÍÊÇ°ÑËü×÷Ϊһ¸ö²ÎÊý´«¸øshellÃüÁî:
¡¡¡¡[beichen@localhost /]$ bash date
¡¡¡¡Mr.beichen,Today is:
¡¡¡¡January 13 Friday
¡¡¡¡Whish you a lucky day !
¡¡¡¡¾¡¹ÜÔÚÇ°ÃæÎÒÃÇʹÓÃchmod +x date½«dateÉèÖÃΪ¿ÉÖ´ÐУ¬Æäʵ²»ÉèÖÃҲûÓйØϵ£¬µ«ÔÚLinuxÀïÖ´ÐÐËü£¬ÐèÒªÏȸæËßϵͳËüÊÇÒ»¸ö¿ÉÖ´ÐеĽű¾¡£
¡¡¡¡[beichen@localhost /]$ .date
¡¡¡¡Mr.beichen,Today is:
¡¡¡¡January 13 Friday
¡¡¡¡Whish you a lucky day !
¡¡¡¡¼´ÔÚdateÇ°Ãæ¼ÓÉÏÒ»¸öµã¡±.¡±£¬²¢ÇÒÓÿոñÓëºóÃæµÄshell½Å±¾µÄÎļþÃû¸ô¿ª¡£µ±È»£¬²»ÍƼöÕâÑù×ö¡£
¡¡¡¡¶þ¡¢shell²ÎÊý
¡¡¡¡Èçͬls ÃüÁî¿ÉÒÔ½ÓÊÜĿ¼µÈ×÷ΪËüµÄ²ÎÊýÒ»Ñù£¬ÔÚshell±à³ÌʱͬÑù¿ÉÒÔʹÓòÎÊý¡£ShellÓÐλÖòÎÊýºÍÄÚ²¿²ÎÊý¡£
¡¡¡¡1¡¢ λÖòÎÊý
¡¡¡¡ÓÉϵͳÌṩµÄ²ÎÊý³ÆΪλÖòÎÊý¡£Î»ÖòÎÊýµÄÖµ¿ÉÒÔÓÃ$NµÃµ½£¬NÊÇÒ»¸öÊý×Ö£¬Èç¹ûΪ1£¬¼´$1.ÀàËÆCÓïÑÔÖеÄÊý×飬Linux»á°ÑÊäÈëµÄÃüÁî×Ö·û´®·Ö¶Î²¢¸øÿ¶Î½øÐбêºÅ£¬±êºÅ´Ó0¿ªÊ¼¡£µÚ0ºÅΪ³ÌÐòÃû×Ö£¬´Ó1¿ªÊ¼¾Í±íʾ´«µÝ¸ø³ÌÐòµÄ²ÎÊý¡£Èç$0±íʾ³ÌÐòµÄÃû×Ö£¬$1±íʾ´«µÝ¸ø³ÌÐòµÄµÚÒ»¸ö²ÎÊý£¬ÒÔ´ËÀàÍÆ¡£
¡¡¡¡2¡¢ ÄÚ²¿²ÎÊý
¡¡¡¡ÉÏÊö¹ý³ÌÖеÄ$0ÊÇÒ»¸öÄÚ²¿±äÁ¿£¬ËüÊDZØÐëµÄ£¬¶ø$1Ôò¿ÉÓпÉÎÞ¡£ºÍ$0Ò»ÑùµÄÄÚ²¿±äÁ¿»¹ÓÐÒÔϼ¸¸ö¡£
¡¡¡¡$# ----´«µÝ¸ø³ÌÐòµÄ×ܵIJÎÊýÊýÄ¿
¡¡¡¡$? ----ÉÏÒ»¸ö´úÂë»òÕßshell³ÌÐòÔÚshellÖÐÍ˳öµÄÇé¿ö£¬Èç¹ûÕý³£Í˳öÔò·µ»Ø0£¬·´Ö®Îª·Ç0Öµ¡£
¡¡¡¡$* ----´«µÝ¸ø³ÌÐòµÄËùÓвÎÊý×é³ÉµÄ×Ö·û´®¡£
¡¡¡¡ÏÂÃæ¾ÙÀý½øÐÐ˵Ã÷£º
¡¡¡¡½¨Á¢Ò»¸öÄÚÈÝΪÈçϵijÌÐòP1:
¡¡¡¡echo ¡°Program name is $0¡±
¡¡¡¡echo ¡°There are totally $# parameters passed to this program¡±
¡¡¡¡echo ¡°The last is $?¡±
¡¡¡¡echo ¡°The parameters are $*¡±
¡¡¡¡Ö´ÐкóµÄ½á¹ûÈçÏ£º
¡¡¡¡[beichen@localhost bin]$ P1 this is a test program //´«µÝ5¸ö²ÎÊý
¡¡¡¡Program name is /home/beichen/bin/P1 //¸ø³ö³ÌÐòµÄÍêÕû·¾¶ºÍÃû×Ö
¡¡¡¡There are totally 5 parameters passed to this program //²ÎÊýµÄ×ÜÊý
¡¡¡¡The last is 0 //³ÌÐòÖ´Ðнá¹û
¡¡¡¡The parameters are this is a test program //·µ»ØÓвÎÊý×é³ÉµÄ×Ö·û´®
¡¡ÏÂÃæÎÒÃÇÀûÓÃÄÚ²¿±äÁ¿ºÍλÖòÎÊý±àдһ¸öÃûΪdelµÄ¼òµ¥É¾³ý³ÌÐò£º
¡¡¡¡#name: del
¡¡¡¡#author: liangnian
¡¡¡¡#this program to compress a file to the dustbin
¡¡¡¡if test $# -eq 0
¡¡¡¡then
¡¡¡¡echo ¡°Please specify a file!¡±
¡¡¡¡else
¡¡¡¡gzip $1 //ÏȶÔÎļþ½øÐÐѹËõ
¡¡¡¡mv $1.gz $HOME/dustbin //Òƶ¯µ½»ØÊÕÕ¾
¡¡¡¡echo ¡°File $1 is deleted !¡±
¡¡¡¡fi
¡¡¡¡Èý¡¢±äÁ¿±í´ïʽ
¡¡¡¡ÔÚÉÏÃæÎÒÃDZàдµÄС³ÌÐòÖÐÎÒÃÇÓõ½ÁËÒ»¸ö¹Ø¼ü×Ötest£¬ÆäʵËüÊÇshell³ÌÐòÖеÄÒ»¸ö±í´ïʽ?D?D±È½Ï(test)¡£Í¨¹ýºÍshellÌṩµÄifµÈÌõ¼þÓï¾ä(ºóÃæÎÒÃÇ»á½éÉÜ)Ïà½áºÏÎÒÃÇ¿ÉÒÔ·½±ãµÄÍêÅжϡ£
¡¡¡¡ÆäÓ÷¨ÈçÏ£º
¡¡¡¡test ±í´ïʽ
¡¡¡¡±í´ïʽËù´ú±íµÄ²Ù×÷·ûÓÐ×Ö·û´®²Ù×÷·û¡¢Êý×Ö²Ù×÷·û¡¢Âß¼­²Ù×÷·ûÒÔ¼°Îļþ²Ù×÷·û¡£ÆäÖÐÎļþ²Ù×÷·ûÊÇÒ»ÖÖshell¶ÀÌصIJÙ×÷·û£¬ÒòΪshellÀïµÄ±äÁ¿¶¼ÊÇ×Ö·û´®£¬ÎªÁË´ïµ½¶ÔÎļþ½øÐвÙ×÷µÄÄ¿µÄ£¬ÓÚÊDzÅÌṩÁËÕâÑùµÄÒ»ÖÖ²Ù×÷·û¡£
¡¡¡¡1¡¢ ×Ö·û´®±È½Ï
¡¡¡¡×÷Ó㺲âÊÔ×Ö·û´®ÊÇ·ñÏàµÈ¡¢³¤¶ÈÊÇ·ñΪÁ㣬×Ö·û´®ÊÇ·ñΪNULL(×¢£ºbashÇø·ÖÁ㳤¶È×Ö·û´®ºÍ¿Õ×Ö·û´®)
¡¡¡¡³£ÓõÄ×Ö·û´©²Ù×÷·ûÓУº
¡¡¡¡= ±È½ÏÁ½¸ö×Ö·û´®ÊÇ·ñÏàͬ£¬Í¬ÔòΪ¡°ÊÇ¡±!= ±È½ÏÁ½¸ö×Ö·û´®ÊÇ·ñÏàͬ£¬²»Í¬ÔòΪ¡°ÊÇ¡±
¡¡¡¡-n ±È½Ï×Ö·û´®³¤¶ÈÊÇ·ñ´óÓÚÁ㣬Èç¹û´óÓÚÁãÔòΪ¡°ÊÇ¡±
¡¡¡¡-z ±È½Ï×Ö·û´®µÄ´©¶ÈÊÇ·ñµÈÓÚÁ㣬Èç¹ûµÈÓÚÔòΪ¡°ÊÇ¡±
¡¡¡¡2¡¢ Êý×ֱȽÏ
¡¡¡¡ÕâÀïÇø±ðÓÚÆäËû±à³ÌÓïÑÔ£¬testÓï¾ä²»Ê¹ÓÃ>?ÀàËƵķûºÅÀ´±í´ï´óСµÄ±È½Ï£¬¶øÊÇÓÃÕûÊýʽÀ´±íʾÕâЩ¡£
¡¡¡¡-eq ÏàµÈ
¡¡¡¡-ge ´óÓÚµÈÓÚ
¡¡¡¡-le СÓÚµÈÓÚ
¡¡¡¡-ne ²»µÈÓÚ
¡¡¡¡-gt ´óÓÚ
¡¡¡¡-lt СÓÚ
¡¡¡¡3¡¢ Âß¼­²Ù×÷! ·´£ºÓëÒ»¸öÂß¼­ÖµÏà·´µÄÂß¼­Öµ
¡¡¡¡-a Óë(and)£ºÁ½¸öÂß¼­ÖµÎª¡°ÊÇ¡±·µ»ØÖµ²ÅΪ¡°ÊÇ¡±£¬·´Ö®Îª¡°·ñ¡±
¡¡¡¡-o »ò(or)£ºÁ½¸öÂß¼­ÖµÓÐÒ»¸öΪ¡°ÊÇ¡±£¬·µ»ØÖµ¾ÍΪ¡°ÊÇ¡±
¡¡¡¡4¡¢ Îļþ²Ù×÷
¡¡¡¡Îļþ²âÊÔ±í´ïʽͨ³£ÊÇΪÁ˲âÊÔÎļþµÄÐÅÏ¢£¬Ò»°ãÓɽű¾À´¾ö¶¨ÎļþÊÇ·ñÓ¦¸Ã±¸·Ý¡¢¸´ÖÆ»òɾ³ý¡£ÓÉÓÚtest¹ØÓÚÎļþµÄ²Ù×÷·ûÓкܶ࣬ÎÒÃÇÖ»ÁоÙһЩ³£Óõġ£
¡¡¡¡-d ¶ÔÏó´æÔÚÇÒΪĿ¼·µ»ØֵΪ¡°ÊÇ¡±
¡¡¡¡-f ¶ÔÏó´æÔÚÇÒΪÎļþ·µ»ØֵΪ¡°ÊÇ¡±
¡¡¡¡-L ¶ÔÏó´æÔÚÇÒΪ·ûºÅÁ¬½Ó·µ»ØֵΪ¡°ÊÇ¡±
¡¡¡¡-r ¶ÔÏó´æÔÚÇҿɶÁÔò·µ»ØֵΪ¡°ÊÇ¡±
¡¡¡¡-s ¶ÔÏó´æÔÚÇÒ³¤¶È·ÇÁãÔò·µ»ØֵΪ¡°ÊÇ¡±
¡¡¡¡-w ¶ÔÏó´æÔÚÇÒ¿ÉдÔò·µ»ØֵΪ¡°ÊÇ¡±
¡¡¡¡-x ¶ÔÏó´æÔÚÇÒ¿ÉÖ´ÐÐÔò·µ»ØֵΪ¡°ÊÇ¡±
¡¡¡¡file1 ?Cnt(-ot) file2 Îļþ1±ÈÎļþ2ÐÂ(¾É)
¡¡¡¡ËÄ¡¢Ñ­»·½á¹¹Óï¾ä
¡¡¡¡shell³£¼ûµÄÑ­»·Óï¾äÓÐforÑ­»·¡¢whileÑ­»·¡¢untilÑ­»·
¡¡¡¡for Ñ­»·
¡¡¡¡Óï·¨£ºfor ±äÁ¿ in Áбí
¡¡¡¡do
¡¡¡¡²Ù×÷
¡¡¡¡done
¡¡¡¡×¢£º±äÁ¿ÊÇÒªÔÚÑ­»·ÄÚ²¿ÓÃÀ´Ö¸´úµ±Ç°ËùÖ¸´úµÄÁбíÖеÄÄǸö¶ÔÏóµÄ¡£
¡¡¡¡ÁбíÊÇÔÚfor Ñ­»·µÄÄÚ²¿Òª²Ù×÷µÄ¶ÔÏ󣬿ÉÒÔÊÇ×Ö·û´®Ò²¿ÉÒÔÊÇÎļþ£¬Èç¹ûÊÇÎļþÔòΪÎļþÃû¡£
¡¡¡¡Àý£ºÉ¾³ýÀ¬»øÏäÖеÄËùÓÐ.gzÎļþ
¡¡¡¡#delete all file with extension of ¡°gz¡± in the dustbin
¡¡¡¡for I in $HOME/dustbin/*.gz
¡¡¡¡do
¡¡¡¡rm ?Cf $i
¡¡¡¡echo ¡°$i has been deleted!¡±
¡¡¡¡done
¡¡¡¡Ö´Ðнá¹ûÈçÏ£º
¡¡¡¡[beichen@localhost bin]$.f_rmgz
¡¡¡¡/home/beichen/dustbin/nessus-4.0.0.2.tar.gz has been deleted!
¡¡¡¡/home/beichen/dustbin/gftp-2.2.1.tar.gz has been deleted!
¡¡WhileÑ­»·
¡¡¡¡Óï·¨£ºwhile ±í´ïʽ
¡¡¡¡do
¡¡¡¡²Ù×÷
¡¡¡¡done
¡¡¡¡Ö»Òªwhile±í´ïʽ³ÉÁ¢£¬doºÍdoneÖ®¼äµÄ²Ù×÷¾ÍÒ»Ö±»á½øÐС£
¡¡¡¡untilÑ­»·
¡¡¡¡Óï·¨£ºuntil ±í´ïʽ
¡¡¡¡do
¡¡¡¡²Ù×÷
¡¡¡¡done
¡¡¡¡Öظ´doºÍdoneÖ®¼äµÄ²Ù×÷Ö±µ½±í´ïʽ³ÉÁ¢ÎªÖ¹¡£
¡¡¡¡Àý:
¡¡¡¡#test until
¡¡¡¡#add from 1 to 100
¡¡¡¡total=0
¡¡¡¡num=0
¡¡¡¡until test num ?Ceq 100
¡¡¡¡do
¡¡¡¡total=`expr $total + $num` //×¢Ò⣬ÕâÀïµÄÒýºÅÊÇ·´ÒýºÅ,ÏÂͬ
¡¡¡¡num=`expr $num+1`
¡¡¡¡done
¡¡¡¡echo ¡°The result is $total¡±
¡¡¡¡Ö´Ðнá¹ûÈçÏ£º
¡¡¡¡[beichen@localhost bin]$until
¡¡¡¡The result is 5050!
¡¡¡¡Îå¡¢Ìõ¼þÓï¾ä
¡¡¡¡Shell³ÌÐòÖеÄÌõ¼þÓï¾äÖ÷ÒªÓÐifÓï¾ä¡¢caseÓï¾ä£»
¡¡¡¡IfÓï¾ä
¡¡¡¡Óï·¨£ºif ±í´ïʽ1 then
¡¡¡¡²Ù×÷
¡¡¡¡elif ±í´ïʽ2 then
¡¡¡¡²Ù×÷
¡¡¡¡elif ±í´ïʽ3 then
¡¡¡¡²Ù×÷
¡¡¡¡¡­..
¡¡¡¡else
¡¡¡¡²Ù×÷
¡¡¡¡fi
¡¡¡¡LinuxÀïµÄifµÄ½áÊø±êÖ¾Êǽ«if·´¹ýÀ´Ð´³Éfi£»¶øelifÆäʵÊÇelse ifµÄËõд
¡¡¡¡ÆäÖÐelifÀíÂÛÉÏ¿ÉÒÔÓÐÎÞÏÞ¶à¸ö¡£
¡¡CaseÓï¾ä
¡¡¡¡Óï·¨£ºcase ×Ö·û´® in
¡¡¡¡Öµ1|Öµ2)
¡¡¡¡²Ù×÷::
¡¡¡¡Öµ3|Öµ4)
¡¡¡¡²Ù×÷::
¡¡¡¡Öµ5|Öµ6)
¡¡¡¡²Ù×÷::
¡¡¡¡*}
¡¡¡¡²Ù×÷::
¡¡¡¡esac
¡¡¡¡caseµÄ×÷ÓþÍÊǵ±×Ö·û´®Óëij¸öÖµÏàͬÊǾÍÖ´ÐÐÄǸöÖµºóÃæµÄ²Ù×÷¡£Èç¹ûͬһ¸ö²Ù×÷¶ÔÓÚ¶à¸öÖµ£¬ÔòʹÓá±|¡±½«¸÷¸öÖµ·Ö¿ª¡£ÔÚcaseµÄÿһ¸ö²Ù×÷µÄ×îºóÃ涼ÓÐÁ½¸ö¡±::¡±£¬·ÖºÅÊDZØÐëµÄ¡£
¡¡¡¡Àý£º
¡¡¡¡case $USER in
¡¡¡¡beichen)
¡¡¡¡Echo ¡°You are beichen!¡±;;
¡¡¡¡liangnian)
¡¡¡¡echo ¡°You are liangnian¡±; //×¢ÒâÕâÀïÖ»ÓÐÒ»¸ö·ÖºÅ
¡¡¡¡echo ¡°Welcome!¡±;; //ÕâÀï²ÅÊÇÁ½¸ö·ÖºÅ
¡¡¡¡root)
¡¡¡¡echo ¡°You are root!:echo Welcome!¡±;; //½«Á½ÃüÁîдÔÚÒ»ÐУ¬ÓÃÒ»¸ö·ÖºÅ×÷Ϊ·Ö¸ô·û
¡¡¡¡*)
¡¡¡¡echo ¡°Who are you?$USER?¡±;;
¡¡¡¡esac
¡¡¡¡Ö´Ðнá¹û£º
¡¡¡¡[liangnian@localhost bin]$ test
¡¡¡¡You are liangnian
¡¡¡¡Welcome!
¡¡¡¡¹ØÓÚshell±à³Ì»ù´¡µÄ¶«Î÷¾Í½éÉÜÕâô¶à£¬Èç¹ûÄãÏë¸ü½øÒ»²½Á˽âshell±à³ÌµÄ֪ʶ£¬Çë²éÔÄÏà¹ØÊé¼®¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 5 ÌõÆÀÂÛ

  1. weiweiwei21 ÓÚ 2006-12-03 16:02:51·¢±í:

    лл

  2. weiweiwei21 ÓÚ 2006-12-03 15:51:05·¢±í:

    ѧϰÁËÒ»ÏÂ

  3. yqy911yqy ÓÚ 2006-12-01 11:12:14·¢±í:

    лл ѧϰÁËÒ»ÏÂ

  4. chameleon ÓÚ 2006-11-29 13:45:22·¢±í:

    echo ¡°Whish you a lucky day !¡±
    Ó¢ÎĶ¼´ò´íÁË°¡£¬ÊÇwish

  5. lancy_lancy ÓÚ 2006-10-25 15:19:47·¢±í:

    :tie:1