站長資訊網
        最全最豐富的資訊網站

        linux中什么是shell腳本

        在linux中,shell腳本是一種編程方式,就是一些命令的集合。shell腳本將一些shell語法與指令寫在里面,利用管道命令以及流量重導向等功能,達到想要的處理目的,是臨時寫的小程序用于完成當前的工作。

        linux中什么是shell腳本

        本教程操作環境:linux7.3系統、Dell G3電腦。

        linux中什么是shell腳本

        一.shell腳本的概念及意義

        shell腳本是linux下的一種編程方式,腳本(shell script)是利用shell的功能所寫的一個程序,這個程序是使用純文本文件,將一些shell的語法與指令寫在里面,然后用正規表示法,管道命令以及數據流重導向等功能,以達到我們所想要的處理目的。說白了,就是為了解決linux的實際問題,臨時寫的一個小程序來完成當前的工作,如果需要多次使用,還能保存下來循環使用。

        二.腳本的規范

        腳本使用了shebang機制,即這樣的格式:!#/bin/bash、!#/use/bin/python。需要簡單的進行shell腳本的解釋。下面舉一個樣例:

        #!/bin/bash # —————————————— # Filename: hello.sh # Revision: 1.1 # Date: 2017/08/05 # Author: Mr.Dong # Email: Dong@gmail.com # Website: www.magedu.com # Description: This is the first script # —————————————— echo “hello world”

        利用這些信息,可以很快知道這個腳本的用處,以便于工作的使用。

        在運行的時候可以使用下面兩條命令進行腳本調試

        bash -n hello.sh 來查看腳本的語法錯誤

        bash -x hello.sh 可以查看腳本的執行步驟

        三.變量

        1.本地變量

        本地變量只對當前shell有效,對子shell無效(SHLVL查看是幾級shell)。

        變量賦值:name=’value’

        字符串賦值:name=”root”

        變量引用:name=”$USER”

        命令引用:name=COMMAND name=$(COMMAND)

        顯示已定義的所有變量:set

        刪除變量:unset name

        2.環境變量

        環境變量對當前SHELL及其子SHELL均有效。

        變量的聲明和賦值命令:

        export name=VALUE declare -x name=VALUE

        變量的引用:$name,${name}

        顯示所有的環境變量命令:

        env printenv export declare -x

        bash自帶環境變量:

        PATH SHELL USER UID HOME PWD SHLVL LANG MAIL HOSTNAME HISTSIZE

        3.只讀變量

        聲明只讀變量:

        readonly name declare -r name

        查看只讀變量: readonly -p

        4.位置變量

        $1, $2, … :對應第1 、第2 等參數,shift [n] 換位置

        $0: 命令本身

        $: 傳遞給腳本的所有參數,全部參數合為一個字符串

        $@: 傳遞給腳本的所有參數,每個參數為獨立字符串

        $#: 傳遞給腳本的參數的個數

        $@ $ 只在被雙引號包起來的時候才會 有 差異

        set —

        四.算術運算與邏輯運算

        1.算術運算

        算數運算符:+ – * / %(取余) **(乘方)

        常用的運算:

        (1) let var= 算術表達式

        (2) var=$[ 算術表達式]

        (3) var=$(( 算術表達式))

        (4) var=$(expr arg1 arg2 arg3 …)

        (5) declare –i var = 數值

        (6) echo ‘ 算術表達式’ | bc

        產生隨機數命令:echo $[$RANDOM%number] 0-number之間的隨機數

        賦值運算:+= -= *= /= %=

        自增和自減:

        let var+=1 let var++ let var-=1 let var–

        2.邏輯運算

        true=0 false=1

        與 1&&1=1 1&&0=0 0&&1=0 0&&0=0

        或 1||1=1 1||0=1 0||1=1 0||0=0

        非 !1=0 !0=1

        五.test命令

        test命令是shell環境中測試條件表達式的實用工具。

        例如:

        test “$A” == “$B” && echo “Strings are equal” [ “$A” == “$B” ] && echo “Strings are equal”

        這兩種表述表達同一種意思。

        [[ ]]表示支持正則表達式

        數值比較: 字符串比較:

        -gt 是否大于 >

        -ge 是否大于等于 >=

        -eq 是否等于 ==

        -ne 是否不等于 !=

        -lt 是否小于 <

        -le 是否小于等于 <=

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 一本色道久久88综合日韩精品| japanese乱人伦精品| 无码精品人妻一区二区三区免费看| 97人妻无码一区二区精品免费| 亚洲国产精品综合久久网络| 99R在线精品视频在线播放| 久久99精品久久久久子伦| 久草欧美精品在线观看| 欧美极品欧美精品欧美视频| 久久精品国产亚洲精品2020| 日韩精品一区二区三区中文字幕| 97久人人做人人妻人人玩精品| 国产精品禁18久久久夂久| 亚洲精品乱码久久久久久蜜桃| 国产区精品高清在线观看| 久久久精品免费国产四虎| 国产精品亚洲а∨无码播放| 亚洲精品中文字幕无码蜜桃| 青草国产精品视频。| 久久国产精品无码网站| 国产成人精品一区在线| 国产精品一国产精品| 3D动漫精品啪啪一区二区下载 | 91po国产在线精品免费观看| 2020国产精品永久在线| 国内少妇偷人精品视频免费| 久久久久国产精品熟女影院| 亚洲日韩精品无码专区网址| 亚洲A∨午夜成人片精品网站 | 国产午夜无码精品免费看动漫| 日韩精品无码AV成人观看| 中文字幕精品亚洲无线码一区 | 精品人伦一区二区三区潘金莲| 老司机67194精品线观看| 亚洲av永久无码精品表情包 | 亚洲欧洲美洲无码精品VA| 亚洲av午夜精品一区二区三区| 少妇亚洲免费精品| 无码人妻一区二区三区精品视频| 欧美精品亚洲日韩aⅴ| 日本精品自产拍在线观看中文|