linux中什么是shell腳本

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

linux中什么是shell腳本

本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。

linux中什么是shell腳本

一.shell腳本的概念及意義

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

二.腳本的規(guī)范

腳本使用了shebang機(jī)制,即這樣的格式:!#/bin/bash、!#/use/bin/python。需要簡單的進(jìn)行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”

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

在運行的時候可以使用下面兩條命令進(jìn)行腳本調(diào)試

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

bash?-x?hello.sh?可以查看腳本的執(zhí)行步驟

三.變量

1.本地變量

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

變量賦值:name=’value’

字符串賦值:name=”root”

變量引用:name=”$USER”

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

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

刪除變量:unset?name

2.環(huán)境變量

環(huán)境變量對當(dāng)前SHELL及其子SHELL均有效。

變量的聲明和賦值命令:

export?name=VALUE declare?-x?name=VALUE

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

顯示所有的環(huán)境變量命令:

env?printenv?export?declare?-x

bash自帶環(huán)境變量:

PATH?SHELL?USER?UID?HOME?PWD?SHLVL?LANG?MAIL?HOSTNAME?HISTSIZE

3.只讀變量

聲明只讀變量:

readonly?name declare?-r?name

查看只讀變量:?readonly?-p

4.位置變量

$1,?$2,?…?:對應(yīng)第1?、第2?等參數(shù),shift?[n]?換位置

$0:??命令本身

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

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

$#:??傳遞給腳本的參數(shù)的個數(shù)

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

set?—

四.算術(shù)運算與邏輯運算

1.算術(shù)運算

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

常用的運算:

(1)?let?var=?算術(shù)表達(dá)式

(2)?var=$[?算術(shù)表達(dá)式]

(3)?var=$((?算術(shù)表達(dá)式))

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

(5)?declare?–i?var?=??數(shù)值

(6)?echo?‘?算術(shù)表達(dá)式’?|?bc

產(chǎn)生隨機(jī)數(shù)命令:echo?$[$RANDOM%number]??0-number之間的隨機(jī)數(shù)

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

自增和自減:

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環(huán)境中測試條件表達(dá)式的實用工具。

例如:

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

這兩種表述表達(dá)同一種意思。

[[??]]表示支持正則表達(dá)式

數(shù)值比較:?????????字符串比較:

-gt?是否大于??????>

-ge?是否大于等于??>=

-eq?是否等于??????==

-ne?是否不等于????!=

-lt?是否小于??????

-le?是否小于等于??

相關(guān)推薦:《Linux視頻教程

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊6 分享