首頁 >運維 >linux運維 >linux中什麼是shell腳本

linux中什麼是shell腳本

WBOY
WBOY原創
2022-03-15 15:02:075536瀏覽

在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 ' 算術表達式'# 約

##產生隨機數字指令: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 是否大於      >######-gt 是否大於      >######-gt 是否大於    等於  >=######-eq 是否等於      ==######-ne 是否不等於    !=######-lt 是否小於  <#S小於等於  <=######相關推薦:《###Linux影片教學###》######

以上是linux中什麼是shell腳本的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn