shell腳本之編程規範與變量

shell腳本概念

將要執行的命令按順序保存到一個文本文件,給該文件一個可執行權限,即可運行。linux

shell腳本的構成

一、腳本申明

腳本聲明是指明用哪一個解釋器來解釋shell

二、註釋信息

註釋信息是指明這個腳本的一些說明信息。就知道這個腳本時幹什麼用的了,這個信息不執行編程

三、可執行語句

進行執行的一些命令數組

執行shell腳本的方式

一、絕對路徑

二、相對路徑

三、sh 腳本路徑

四、source 腳本路徑

注意:其中,絕對路徑與相對路徑實行shell腳本時,該腳本文件必需要有可執行權限。Source腳本路徑的方法,只在當前環境生效。bash

管道操做符 「|」

將左側的命令輸出結果,做爲右側命令的處理對象
統計passwd中的行數 cat /etc/passwd | wc –l
過濾查看passwd中wang的用戶 cat /etc/passwd | grep 「wang」 ide

重定向(三種類型)

一、標準輸入(/dev/stdin)

鍵盤輸入的數據就是標準輸入 ui

二、標準輸出(/dev/stdout)

顯示器輸出的數據就是標準輸出3d

三、標準錯誤(/dev/stderr)

顯示器上顯示錯誤信息就是標準錯誤對象

四、重定向輸入

先建立一個mima.tx文本,而後重定向給某個用戶做爲密碼
pass 用戶名 < mima.txtblog

注:密碼要求必須符合系統默認要求,不然會報錯密碼更改終止。

五、重定向輸出

1)把指定路徑下的文件或者直接輸入的文本重定向輸入到指定文件

echo "wo zui shuai " > test.txt

注:這裏不須要提早建立文件,由於當重定向輸出時,未檢測到該名

2)文件便會建立,建立格式本身指定便可,如:test.txt test.log test.bak

3)重定向追加,將輸出文本或者內容追加到指定的文本內容以後
echo "da jia dou shuai " >> test.txt

注:這樣就會不影響該文本原有的內容,還能添加上新內容,只不過是在原內容以後。

六、標準錯誤輸出

1)當查詢不存在的文件或者目錄時會提示,沒法訪問,沒有那個文件或目錄。
shell腳本之編程規範與變量

2)使用重定向將以上截圖報錯信息輸出到err.txt文本中(默認沒有這個文本)
shell腳本之編程規範與變量

3)輸出報錯信息須要使用2>才能輸出
shell腳本之編程規範與變量

七、混合輸出

同時輸出兩種以上不一樣的輸出,好比同時輸出錯誤輸出和標準輸出
shell腳本之編程規範與變量

自定義變量(由用戶本身定義、修改和使用)

1)定義x等於123,這裏使用echo命令
shell腳本之編程規範與變量

2)繼續上一步操做並顯示新添加的456
shell腳本之編程規範與變量
注:以上截圖中的引號中兩個數值之間有空格,反之不顯示,會失敗。

3)若是想實現123456這樣連續輸出的話,操做以下兩種(括號不一樣)
shell腳本之編程規範與變量

4)計算加減乘除使用expr命令,直接加法以下格式
shell腳本之編程規範與變量

5)使用變量計算加法以下格式
shell腳本之編程規範與變量

6)將命令設成變量查看統計系統全部用戶數
shell腳本之編程規範與變量

定義變量和輸出

一、輸入格式

read 【-p 「提示信息」】變量名
shell腳本之編程規範與變量
注:這裏的懶寶寶是變量,並且是經過輸入方式添加變量並先給予變量名x

二、使用兩個變量相加,經過expr命令實現
shell腳本之編程規範與變量

八、變量的算數運算

變量的數值多用於腳本程序的過程控制,只能進行簡單的整數運算,不支持小數運算,整數值的運算主要經過內部命令expr進行。格式:expr 變量1 運算符 變量2 運算符 ...

一、使用expr命令實現加減算數運算
shell腳本之編程規範與變量

二、使用expr命令實現乘除算數運算(包括餘數)
shell腳本之編程規範與變量
注:從上邊的截圖中能夠看見,乘法須要使用轉義符\,才能識別進行運算;而除法應該是3.7.0…由於只能取整數,因此取3;而由123除以456答案應該是小數,可是卻等於0,緣由是這個命令不支持小數;最後計算456除以123的餘數爲87

九、預約義變量

預約義變量是bash程序預先定義好的一類特殊變量,用戶只能使用預約義變量,而不能建立新的預約義變量,也不能直接爲預約義變量賦值。

$0 這個程式的執行名字

$n 這個程式的第n個參數值,n=1..9

$* 這個程式的全部參數,此選項參數可超過9個。

$# 這個程式的參數個數

$$ 這個程式的PID(腳本運行的當前進程ID號)

$! 執行上一個背景指令的PID(後臺運行的最後一個進程的進程ID號)

$? 執行上一個指令的返回值 (顯示最後命令的退出狀態。0表示沒有錯誤,其餘任何值代表有錯誤)

$- 顯示shell使用的當前選項,與set命令功能相同

$@ 跟$*相似,可是能夠看成數組用

十、環境變量

環境變量指的是出於運行須要而由linux系統提早建立的一類變量,主要用於設置用戶的工做環境。使用env命令能夠查看到當前工做環境下的環境變量。PATH變量用於設置可執行程序的默認搜索路徑。環境變量的全局配置文件爲/etc/profile,每一個用戶還有本身的獨立配置文件~ /.bash_profile

相關文章
相關標籤/搜索