| ÂÛ̳ע²á| ¼ÓÈëÊÕ²Ø | ÉèΪÊ×Ò³| RSS
Google
Äúµ±Ç°µÄλÖãºÊ×Ò³ > LinuxƵµÀ > Linux¿ª·¢Çø > SHELL

Bourne Shell¼°shell±à³Ì

ʱ¼ä£º2006-06-28 22:35:53  À´Ô´£ºLinuxÁªÃËÊÕ¼¯  ×÷ÕߣºLinuxÁªÃËÊÕ¼¯
£´ËʱÈç¹ûÏë 6w6LinuxÁªÃË
·ÃÎÊ 6w6LinuxÁªÃË
        ǰ9¸ö²ÎÊýÖ®ºóµÄ²ÎÊý£¬¾Í±ØÐëʹÓÃshift. 6w6LinuxÁªÃË
  6w6LinuxÁªÃË
        ÁíÍâshiftºó¿É¼ÓÕûÊý½øÐÐÒ»´Î¶à¸öÒÆÎ»£¬È磺 6w6LinuxÁªÃË
  6w6LinuxÁªÃË
                shift 3 6w6LinuxÁªÃË
  6w6LinuxÁªÃË
  6w6LinuxÁªÃË
    <4>. forÑ­»· 6w6LinuxÁªÃË
       ¸ñʽ£º 6w6LinuxÁªÃË
                for var in arg1 arg2 ... argn 6w6LinuxÁªÃË
                do 6w6LinuxÁªÃË
                        command 6w6LinuxÁªÃË
                        .... 6w6LinuxÁªÃË
                        command 6w6LinuxÁªÃË
                done 6w6LinuxÁªÃË
  6w6LinuxÁªÃË
        ʾÀý£º 6w6LinuxÁªÃË
        $ for letter in a b c d e; do echo $letter;done 6w6LinuxÁªÃË
        a 6w6LinuxÁªÃË
        b 6w6LinuxÁªÃË
        c 6w6LinuxÁªÃË
        d 6w6LinuxÁªÃË
        e 6w6LinuxÁªÃË
  6w6LinuxÁªÃË
        ¶Ôµ±Ç°Ä¿Â¼ÏµÄËùÓÐÎļþ²Ù×÷£º 6w6LinuxÁªÃË
        $ for i in * 6w6LinuxÁªÃË
          do 6w6LinuxÁªÃË
                if [ -f $i ] 6w6LinuxÁªÃË
                then 6w6LinuxÁªÃË
                        echo "$i is a file" 6w6LinuxÁªÃË
                elif    [ -d $i ] 6w6LinuxÁªÃË
                        echo "$i is a directory" 6w6LinuxÁªÃË
                fi 6w6LinuxÁªÃË
          done 6w6LinuxÁªÃË
  6w6LinuxÁªÃË
        ÇóÃüÁîÐÐÉÏËùÓÐÕûÊýÖ®ºÍ£º 6w6LinuxÁªÃË
        #!/bin/sh 6w6LinuxÁªÃË
  6w6LinuxÁªÃË
        sum=0 6w6LinuxÁªÃË
  6w6LinuxÁªÃË
        for INT in $* 6w6LinuxÁªÃË
        do 6w6LinuxÁªÃË
                sum=`expr $sum + $INT` 6w6LinuxÁªÃË
        done 6w6LinuxÁªÃË
  6w6LinuxÁªÃË
        echo $sum 6w6LinuxÁªÃË
  6w6LinuxÁªÃË
  6w6LinuxÁªÃË
      <6> ´ÓÑ­»·ÖÐÍ˳ö£º breakºÍcontinueÃüÁî 6w6LinuxÁªÃË
        break           Á¢¼´Í˳öÑ­»· 6w6LinuxÁªÃË
        continue        ºöÂÔ±¾Ñ­»·ÖÐµÄÆäËûÃüÁ¼ÌÐøÏÂÒ»ÏÂÑ­»· 6w6LinuxÁªÃË
  6w6LinuxÁªÃË
        ÔÚshell±à³ÌÖÐÓÐʱÎÒÃÇÒªÓõ½½øÐÐÎÞÏÞÑ­»·µÄ¼¼ÇÉ£¬Ò²¾ÍÊÇ˵ÕâÖÖÑ­»·Ò»Ö±Ö´ÐÐ 6w6LinuxÁªÃË
Åö 6w6LinuxÁªÃË
        µ½break»òcontinueÃüÁî¡£ÕâÖÖÎÞÏÞÑ­»·Í¨³£ÊÇʹÓÃtrue»òfalseÃüÁʼµÄ¡£UNIX 6w6LinuxÁªÃË
        ϵͳÖеÄtrue×ÜÊÇ·µ¼Ó0Öµ£¬¶øfalseÔò·µ»Ø·ÇÁãÖµ¡£ÈçÏÂËùʾ£º 6w6LinuxÁªÃË
  6w6LinuxÁªÃË
        #Ò»Ö±Ö´Ðе½³ÌÐòÖ´ÐÐÁËbreak»òÓû§Ç¿ÐÐÖжÏʱ²Å½áÊøÑ­»· 6w6LinuxÁªÃË
        while true 6w6LinuxÁªÃË
        do 6w6LinuxÁªÃË
                command 6w6LinuxÁªÃË
                .... 6w6LinuxÁªÃË
                command 6w6LinuxÁªÃË
        done 6w6LinuxÁªÃË
  6w6LinuxÁªÃË
        ÉÏÃæËùʾµÄÑ­»·Ò²¿ÉÒÔʹÓÃuntil false, ÈçÏ£º 6w6LinuxÁªÃË
  6w6LinuxÁªÃË
        until false 6w6LinuxÁªÃË
        do 6w6LinuxÁªÃË
                command 6w6LinuxÁªÃË
                .... 6w6LinuxÁªÃË
                command 6w6LinuxÁªÃË
        done 6w6LinuxÁªÃË
  6w6LinuxÁªÃË
        ÔÚÈçÏÂshell scriptÖÐͬʱʹÓÃÁËcontinue,breakÒÔ¼°caseÓï¾äÖеÄÕý¹æ±í´ïʽÓà 6w6LinuxÁªÃË
·¨£º 6w6LinuxÁªÃË
  6w6LinuxÁªÃË
         #!/bin/sh 6w6LinuxÁªÃË
         # Interactive program to restore, backup, or unload 6w6LinuxÁªÃË
         # a directory 6w6LinuxÁªÃË
  6w6LinuxÁªÃË
         echo "Welcome to the menu driven Archive program" 6w6LinuxÁªÃË
  6w6LinuxÁªÃË
         while true 6w6LinuxÁªÃË
         do 6w6LinuxÁªÃË
         # Display a Menu 6w6LinuxÁªÃË
            echo 6w6LinuxÁªÃË
            echo "Make a Choice from the Menu below" 6w6LinuxÁªÃË
            echo _ 6w6LinuxÁªÃË
            echo "1  Restore Archive" 6w6LinuxÁªÃË
            echo "2  Backup directory" 6w6LinuxÁªÃË
            echo "3  Unload directory" 6w6LinuxÁªÃË
            echo "4  Quit" 6w6LinuxÁªÃË
            echo 6w6LinuxÁªÃË
  6w6LinuxÁªÃË
         # Read the user's selection 6w6LinuxÁªÃË
            echo -n "Enter Choice: " 6w6LinuxÁªÃË
  6w6LinuxÁªÃË
            read CHOICE 6w6LinuxÁªÃË
  6w6LinuxÁªÃË
            case $CHOICE in 6w6LinuxÁªÃË
               [1-3] ) echo 6w6LinuxÁªÃË
                       # Read and validate the name of the directory 6w6LinuxÁªÃË
  6w6LinuxÁªÃË
                       echo -n "What directory do you want? " 6w6LinuxÁªÃË
                       read WORKDIR 6w6LinuxÁªÃË
  6w6LinuxÁªÃË
                       if [ ! -d "$WORKDIR" ] 6w6LinuxÁªÃË
                       then 6w6LinuxÁªÃË
                          echo "Sorry, $WORKDIR is not a directory" 6w6LinuxÁªÃË
                          continue 6w6LinuxÁªÃË
                       fi 6w6LinuxÁªÃË
  6w6LinuxÁªÃË
                       # Make the directory the current working directory 6w6LinuxÁªÃË
                       cd $WORKDIR;; 6w6LinuxÁªÃË
  6w6LinuxÁªÃË
                    4) :;;    # :Ϊ¿ÕÓï¾ä£¬²»Ö´ÐÐÈκζ¯×÷ 6w6LinuxÁªÃË
                    *) echo "Sorry, $CHOICE is not a valid choice" 6w6LinuxÁªÃË
                       continue 6w6LinuxÁªÃË
            esac 6w6LinuxÁªÃË
  6w6LinuxÁªÃË
            case "$CHOICE" in 6w6LinuxÁªÃË
               1) echo "Restoring...
 6/12   |‹ ‹‹ 4 5 6 7 8 9 ›› ›|

À´¶¥Ò»ÏÂ
½ü»ØÊ×Ò³
·µ»ØÊ×Ò³
·¢±íÆÀÂÛ ¹²ÓÐÌõÆÀÂÛ
Óû§Ãû: ÃÜÂë:
ÑéÖ¤Âë: ÄäÃû·¢±í
Ïà¹ØÎÄÕÂ
    ÎÞÏà¹ØÐÅÏ¢
À¸Ä¿¸üÐÂ
À¸Ä¿ÈÈÃÅ