<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java 企業(yè)應(yīng)用
    不要溫柔的走入那個(gè)良夜

               LEARN FROM:http://learn.akae.cn/media/ch31s03.html

     

    1.變量

    環(huán)境變量可以從父進(jìn)程傳給子進(jìn)程,因此Shell進(jìn)程的環(huán)境變量可以從當(dāng)前Shell進(jìn)程傳給fork出來的子進(jìn)程。用printenv命令可以顯示當(dāng)前Shell進(jìn)程的環(huán)境變量.用set命令可以顯示當(dāng)前Shell進(jìn)程中定義的所有變量(包括本地變量和環(huán)境變量)和函數(shù).

    本地變量:$ VARNAME=value   注意等號(hào)兩邊都不能有空格,否則會(huì)被Shell解釋成命令和命令行參數(shù)。

    子進(jìn)程shell變量導(dǎo)出:$ export VARNAME=value 這樣父進(jìn)程的Shell也可以使用這個(gè)變量

    2.通配符

       image

    ls ch[012][0-9].doc

    3.命令代換

    由反引號(hào)括起來的也是一條命令,Shell先執(zhí)行該命令,然后將輸出結(jié)果立刻代換到當(dāng)前命令行中。例如定義一個(gè)變量存放date命令的輸出:

    image

    DATE=$(date)

    4.算數(shù)代換

    用于算術(shù)計(jì)算,$(())中的Shell變量取值將轉(zhuǎn)換成整數(shù)

    5.轉(zhuǎn)義“\”

    6.條件測(cè)試

    image

     

    7.控制
        case

    #! /bin/sh
     
    echo "is it moring? Please answer yes or no ."
    read YES_OR_NO
    case "$YES_OR_NO" in 
    yes|Yes|y|YES)
          echo "Good Moring!";;
    [nN]*)
          echo "Good afternoon.";;
    *)
          echo "Sorry, $YES_OR_NO not recognized. Enter yes or no . "
          exit 1;;
    esac 
    exit 0

        for

    #! /bin/sh
     
    for FRUIT in apple banana pear ; do 
        echo "I like $FRUIT"
    done
     

           if

    #! /bash/sh
     
    echo "is it morning? please answer yes or no ."
    read YES_OR_NO
    if [ "$YES_OR_NO" = "yes" ]; then
       echo "Good Morning."
    elif [ "$YES_OR_NO" = "no" ]; then 
       echo "Good afternoon."
    else 
       echo "Sorry ,$YES_OR_NO not recognized.Enter yes or no."
       exit 1 
    fi
    exit 0

           While

     

    #! /bin/sh
     
    echo "Enter Password:"
    read TRY
    while [ "$TRY" != "p" ]; do 
        echo "Sorry, Try again"
        read TRY
    done

          Shift

    #! /bin/bash
    echo "the number of params $#" 
    echo "the contents of params $@"
    shift 
    echo "$1" 
    shift 
    echo "$1"
    shift
    echo "$1"
    

    shift 向左偏移 ,$#代表傳進(jìn)參數(shù)的個(gè)數(shù) 而$@是具體的內(nèi)容,當(dāng)執(zhí)行shift的時(shí)候,$#和$@也會(huì)相應(yīng)的改變。

    #! /bin/bash
    echo "the number of params $#"
    echo "the contents of params $@"
    shift
    echo "num:$# contents:$@"
    shift
    echo "num:$# contents:$@"

    image

     

    8.函數(shù)

    #! /bin/sh
     
    is_d()
    {
     DIR_NAME=$1
      if ( test -d $DIR_NAME ); then
        return 1
      else 
        return 0
    fi
    }
     
    for DIR in "$@" ; do 
        if is_d "$DIR"
        then :
        else 
           echo "not a dir"
        fi 
    done

    9.調(diào)試

    Shell提供了一些用于調(diào)試腳本的選項(xiàng),如下所示:

    -n

    讀一遍腳本中的命令但不執(zhí)行,用于檢查腳本中的語(yǔ)法錯(cuò)誤

    -v

    一邊執(zhí)行腳本,一邊將執(zhí)行過的腳本命令打印到標(biāo)準(zhǔn)錯(cuò)誤輸出

    -x

    提供跟蹤執(zhí)行信息,將執(zhí)行的每一條命令和結(jié)果依次打印出來

    使用這些選項(xiàng)有三種方法,一是在命令行提供參數(shù)

    set -xset +x分別表示啟用和禁用-x參數(shù),這樣可以只對(duì)腳本中的某一段進(jìn)行跟蹤調(diào)試。

     

    從今天的一些編碼來看,Shell編程要注意腳本中的空格,在if,while語(yǔ)句中 “[ ]”要留空格,以及變量的定義中,等號(hào)兩端不要存有空格。

    posted on 2012-06-25 18:12 cpegtop 閱讀(229) 評(píng)論(0)  編輯  收藏

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
     
    主站蜘蛛池模板: 亚洲精品成人片在线观看| 4455永久在线观免费看| mm1313亚洲精品国产| 亚洲av日韩综合一区久热| 美女视频黄a视频全免费| 亚洲理论片在线中文字幕| **毛片免费观看久久精品| 亚洲视频在线免费看| 16女性下面无遮挡免费| 亚洲国产美女视频| 成人免费视频77777| 亚洲AV无码一区二区三区性色 | 国产人成免费视频网站| 亚洲乱亚洲乱妇24p| 免费中文字幕在线观看| 三年片免费高清版 | 午夜时刻免费入口| 日本激情猛烈在线看免费观看| 久久亚洲国产精品五月天婷| 久操免费在线观看| 国产成人精品日本亚洲直接| 亚洲国产高清精品线久久| 久久久久高潮毛片免费全部播放| 亚洲日韩国产AV无码无码精品| 亚洲日本中文字幕一区二区三区| 鲁大师在线影院免费观看| 亚洲狠狠婷婷综合久久| 国产亚洲精品国产| 国产无遮挡又黄又爽免费视频| 免费91最新地址永久入口| 亚洲a∨国产av综合av下载| 亚洲乱码一区二区三区在线观看 | 四虎在线播放免费永久视频 | 男男gvh肉在线观看免费| 亚洲国产精品午夜电影| 亚洲А∨精品天堂在线| 日韩在线播放全免费| 99视频在线观看免费| 久久精品国产亚洲AV未满十八| 久久精品视频亚洲| 免费a级毛片无码a∨性按摩|