linux Shell學習筆記第二天_其它

來源:互聯網
上載者:User

變數

  1. 擷取本機主機名稱

    #hostname

  2. 擷取本系統版本號碼

    #uname -r

  3. 擷取cpu類型
  4. 擷取cpu的工作頻率

    cat /proc/cpuinfo

  5. 擷取記憶體使用量情況

    #free -m

  6. 擷取硬碟使用方式

    #df

變數類型及變數操作

  1. 本地變數(一般所指)

    本地變數只存在使用者當前shell中,當使用者退出當前shell或開器一個新的shell,所設定的變數將會不存在

    設定變數

    #變數名=變數值

    顯示變數

    #echo ${變數名}

    假設a=1 顯示則 echo ${a}

  2. 環境變數(用的非常少)

    環境變數用於所有使用者進程(經常稱為子進程)。登入進程稱為父進程。Shell中執行的使用者進程均稱為子進程。不像本地變數,環境變數可用於所有子進程,這包括編輯器、指令碼和應用

    環境變數在使用者登出時會消失,因此最好在$HOME/.bash_profile(/etc/profile)檔案裡直接定義

  3. 位置變數(跟指令碼和函數有很大的關係)

    位置變數表示$0,$1… …$9 (只有9個)

    $0

    $1

    $2

    $3

    $4

    $5

    $6

    $7

    $8

    $9

    指令碼名字

    A

    B

    C

    D

    E

    F

    G

    H

    I

    $0=當前指令碼名稱

    向指令碼中使用位置參數

    向系統命令傳遞參數

  4. 特殊變數

    $#        傳遞到指令碼的參數列表個數

    $* ($@)    以一個單字串顯示所有向指令碼傳遞的參數

    $$        指令碼啟動並執行當前進程ID號

    $?        顯示最後命令的退出狀態。0表示沒有錯誤,其他任何值表明有錯誤。



引用的必要性

    
 alt=

    變數操作中,指令碼執行變數賦值時最容易犯的一個錯誤就是引用錯誤

    例:echo abc *

        echo abc ‘*'

        echo Hit the star button to exit *

            

    引用的方式

        雙引號(“) (需要排除以下幾個)

        使用雙引號可以引用除$、`、\、字元外的任一字元或字串

        單引號(‘) (比較霸道,任何都可以轉成字元)

        與雙引號類似,不同的是shell會忽略任何引用值。

換句話說,如果屏蔽了其特殊含義,會將引號裡的所有字元,都作為一個字串。


 

反引號(`) (將括弧內的當作命令來執行)

用於設定系統命令的輸出到變數。

shell將反引號中的內容作為一個系統命令,並執行其內容


 

反斜線(\)

如果一個字元有特殊含義,反斜線防止shell誤解其含義,即屏蔽其特殊含義。

下述字元包含有特殊意義:& * + ^ $ ` ” | ?

 



 

指令碼執行個體

  1. Hello.sh

    #!/bin/bash

    #This is the first script

    echo “Hello,World!”

    執行:

    chmod u+x Hello.sh

    ./Hello.sh

  2. var.sh

    #!/bin/bash

    echo $1

    echo $2

    echo $3

    echo $4

    echo $5

    echo $6

    echo $7

    echo $8

    echo $9

    echo $10

     alt=

  3. #!/bin/bash

    echo –e “hostname\t `hostname`”

    echo –e “OScore\t `uname -r`”

    echo –e “CPUInfo\t `grep “model name” /proc/cpuinfo|awk –F: ‘{print $2}'`”

    ehco –e “CPUMHz\t `grep “MHz” /proc/cpuinfo | awk –F: ‘{print $2}'`”

    echo –e “MEMTotal\t `free | awk ‘$1=”Mem:”{print $2}'`”

    echo –e “DiskInfo\t `df | grep dev |awk ‘{print $1 $2}'`”


    回顧:

        指令碼的結構與運行

        變數的類型及用法

            環境變數

            本地變數

            參數變數

            特殊變數

    變數賦值時的引用方法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.