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

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

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

    Java 企業應用
    不要溫柔的走入那個良夜

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

     

    1.變量

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

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

    子進程shell變量導出:$ export VARNAME=value 這樣父進程的Shell也可以使用這個變量

    2.通配符

       image

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

    3.命令代換

    由反引號括起來的也是一條命令,Shell先執行該命令,然后將輸出結果立刻代換到當前命令行中。例如定義一個變量存放date命令的輸出:

    image

    DATE=$(date)

    4.算數代換

    用于算術計算,$(())中的Shell變量取值將轉換成整數

    5.轉義“\”

    6.條件測試

    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 向左偏移 ,$#代表傳進參數的個數 而$@是具體的內容,當執行shift的時候,$#和$@也會相應的改變。

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

    image

     

    8.函數

    #! /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.調試

    Shell提供了一些用于調試腳本的選項,如下所示:

    -n

    讀一遍腳本中的命令但不執行,用于檢查腳本中的語法錯誤

    -v

    一邊執行腳本,一邊將執行過的腳本命令打印到標準錯誤輸出

    -x

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

    使用這些選項有三種方法,一是在命令行提供參數

    set -xset +x分別表示啟用和禁用-x參數,這樣可以只對腳本中的某一段進行跟蹤調試。

     

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

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

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
     
    主站蜘蛛池模板: 精品国产污污免费网站aⅴ| 一级毛片在线免费看| 免费看的一级毛片| 亚洲乱码在线播放| 国产卡二卡三卡四卡免费网址 | 亚洲爆乳无码一区二区三区| 国产精品亚洲精品爽爽| 国产又粗又长又硬免费视频| 久久精品国产亚洲av瑜伽| 免费一级毛片在级播放| 免费无码AV一区二区| 国产AV无码专区亚洲AV手机麻豆| 亚洲阿v天堂在线2017免费| 亚洲人成人77777网站| 日韩精品无码专区免费播放| 亚洲欧洲日产国码二区首页| 在线观看的免费网站| 男人的天堂av亚洲一区2区| 亚洲成片观看四虎永久| 国内精品99亚洲免费高清| 亚洲无线电影官网| 成全视频在线观看免费高清动漫视频下载 | 日韩亚洲AV无码一区二区不卡| 最近中文字幕mv免费高清在线| 激情内射亚洲一区二区三区爱妻| 午夜视频免费观看| eeuss影院免费直达入口| 91精品国产亚洲爽啪在线观看| 成人片黄网站A毛片免费| 青青青视频免费观看| 久久噜噜噜久久亚洲va久| 好爽…又高潮了毛片免费看| 日韩在线一区二区三区免费视频 | 亚洲大尺度无码专区尤物| 精品女同一区二区三区免费站| 毛片亚洲AV无码精品国产午夜| 亚洲精品无码MV在线观看 | 少妇太爽了在线观看免费视频| 亚洲精品国产综合久久久久紧| 中文字幕专区在线亚洲| 日本在线高清免费爱做网站|