Shell腳本
是一個腳本語言,用來自動執行我們指定的系統命令的,
通俗的講,再shell腳本當中,我們會撰寫一些需要使用的系統命令于其中再運行這個叫本的時候,這些被撰寫進去的系統命令會按照書寫的順序及規則以此運行,
包括后期我們要學的python實際原本也是通過shell演變過去的!!
學習一們語言首先我們要先了解什么叫變數@
在很多的編程語言當中都會有變數這樣一個概念性的名詞,
變數實際上是一個抽象的概念,它本身并沒有任何意義,只作為一個名稱來使用這個名稱指代表了什么呢?
我們如果想要在腳本或程式當中設定一個值,那麼這個置會再腳本運行得到時候起作用,在腳本停止運行的時候,們就不再起到作用了,那麼這個值我們說他一定存盤再記憶體當中,
記憶體當中存盤資料,一般想要去查找他,需要指定記憶體空間的地址資訊,就好想通過街道名稱,門牌號
自定義變數
變數設定方法
變數名=變數值
一般來說,我們我們給變數齊名的時候有一些規范需要知道!
通常名稱不能用純數字,也不能用數字開頭,可以是a-z或者A-Z會數字或下劃線組合而成!
如果我們再linux的命令列當中設定一個新的變數abc,并將他賦值為123.那麼應該如何書寫:
Abc=123
那麼我們如何驗證呢:
Echo $變數名
Echo $abc
如何取消變數名呢:
Unset 變數名
Unset abc
變數呼叫:
$變數名
$abc
環境變數
$PATH
$PWD
$UID
環境變數不許自行修改!!
Path變數如果更改為空,則所有的外部命令都會不能用
$path默認的值是不允許我們隨意改變,他的默認值如下面修改記得改回來
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/root/bin
位置變數
Echo第一個引數是$1
撰寫腳本myFirstShellScript.sh

./執行這個腳本沒有任何作用!
在后面需加入引數!例子::

$?保存上一條命令的回傳值
如果上一條命令正常運行則回傳時為0
如果上一條命令非正常運行則回傳值非0

$#輸出總數
去腳本檔案添加如下內容

然后執行命令:

$*記錄在運行腳本時輸入的所有引數內容!!!
去到腳本檔案添加這個內容

實體:

練習:
輸出./first.sh
獲得:
#########!
總共有5個引數!
第一個引數是111
所有引數:111 222 333 444 555

輸出:

單雙引號包裹的解譯:


為什么abc沒有輸出出來
需在呼叫它之前
變數一下abc

就可以輸出出來了!!!
·····反點號用來包裹命令·····

它可以讓一段命令代碼另外一個命令代碼當中去運行
Read用來讓用戶進行輸入操作,并將用戶輸入的內容復制給read后指定的變數
在read使用程序當中,我們為了更加人性化,需要
Read -p “提示內容” 變數名
接受用戶輸出的內容賦值內容
Export全域變數
在全域變數都能使用,作用就是linux全域
使用方法
A=1 (普通設定變數方法)
Echo
想要運行全域的export需要先source+shell腳本的絕對路徑!然后echo就可以看見123了!!!


Expr 相當于linux里面的bc計算器!!!

Abc=10 cde=20
$RANDOM
取值范圍是0-32767(有符號的16-bit)
測驗陳述句:
【 -d /etc 】測驗是否是目錄陳述句
【 -e /etc 】測驗目錄或檔案是否存在
【 -f 目標檔案或目錄 】測驗目標是否是檔案
【 -r 目標 】判斷當前用戶對指定檔案是否存在
【 -w 目標 】判斷當前用戶對指定檔案是否有寫權限
【 -x 目標 】判斷當前用戶對指定檔案是否有運行權限
注意這里的-r/-w/-x并不直接等于檔案屬性上顯示的rwx,如果我們看/etc/shadow檔案的話,本身權限是“---------”,但是root用戶登錄的情況下我們使用上面的命令去查詢這個檔案是否有rwx權限,則會獲得回傳值0.也就是說我們有權限修改,原因無他,只因為我們是root用戶!!!!
我們可以加上&&符號上面的操作一步完成,后面加上的echo“yes”代表如果前面的命令成立的話,則回傳“yes”
【 -d/wang 】&& echo“yes”
回傳yes

整數值比較
【 整數1 運算子 整數2 】
-eq: 等于 equal “=“
-ne: 不等于 not equal “≠“
-gt: 大于 greater than “>“
-lt: 小于 lesser than “<“
-ge: 大于等于 greater or equal “≥“
-le: 小于等于 lesser or equal “≤“
使用案例:::

顯示效果和上面一樣!!!
字串的比較
字符和字串


If判斷陳述句
If條件測驗操作
Then命令序列
Fi
嘗試:讓用戶輸入一個數字,與變數ram
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/244773.html
標籤:其他
上一篇:【惡搞】讓鄰居永遠上不了網~
