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

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號
九九久久精品国产| 这里只有精品视频| 国产精品香蕉在线一区| 亚洲精品人成在线观看| 久久线看观看精品香蕉国产| 久久91这里精品国产2020| 亚洲日韩一中文字暮| 日韩一区二区三区视频久久| 国产精品国产香蕉在线观看网 | 国产在线午夜卡精品影院| 国产精品一品二区三区的使用体验 | 国产精品免费无遮挡无码永久视频 | 亚洲日韩欧洲无码av夜夜摸| 国产日韩精品一区二区三区| 国产精品福利网站| 国产精品午夜无码av体验区| 国产精品99re| 国产三级精品三级在线专区| 国产亚洲精品美女久久久久| 国产亚洲午夜精品| 免费观看四虎精品国产永久| 四虎成人精品无码永久在线| 日韩一级视频在线观看播放| 视频一区视频二区日韩专区| 亚洲日韩国产精品无码av| 日韩伦理片电影在线免费观看| 日韩一级在线播放| 亚洲成网777777国产精品| 国产伦精品一区二区三区视频猫咪 | 精品国产亚洲一区二区三区在线观看 | 亚洲精品一卡2卡3卡三卡四卡| 亚洲国产精品综合久久2007| 四虎国产精品永久在线播放| 95在线观看精品视频| 亚洲精品欧美综合四区| 精品久久天干天天天按摩| 国产精品一区二区四区| 日韩电影免费在线观看网址| 一区二区三区日韩| 人妻偷人精品成人AV| 国产精品毛片无码|