shell腳本就是將完成一個任務的所有命令按照執行的先後順序,自上而下寫入到一個文本文件,然後給予執行權限。
目錄
1. shell腳本的命令:
名字最好要有意義,否則時間一長,自己都忘了這個腳本是要實現什麼功能;
雖然Linux系統中文件沒有擴展名的概念,但是在創建shell腳本的時候最好用.sh結尾。
2. shell腳本格式
shell腳本開頭必須指定腳本運行環境,以#!這個特殊符號組合來組成,如:#!/bin/bash指定該腳本是運行解析由/bin/bash來完成的;
shell中的註釋用#;
shell腳本中,最好加入腳本說明字段(例如:腳本是誰寫的、什麼時間、版本號、功能描述)。
3. 如何運行一個shell腳本
腳本運行需要執行權限,當我們給一個文件賦予執行權限的時候,該腳本就可以運行:chomd u+x filename;
如果不希望賦予腳本執行權限,那麼可以通過使用bash命令來運行給予執行權限的腳本:bash filename
4. shell中的特殊字符
~:家目錄
!:執行歷史命令 !!表示執行上一條命令
$:變量中取內容
+、-、*、/、%:對應數學運算符,加減乘除取餘
&:後臺執行
*:星號是shell中的通配符,匹配所有字符
?:問號是shell中的通配符,匹配除了回車之外的一個字符
;:分號可以在shell中一行執行多條命令,命名之間用分號隔開
|:管道符 上一個命令作爲下一個命令的輸入 cat filename | grep "abc"
\:轉義字符
` `:反引號,命令中執行命令 echo "today is `date +%F` " 這條命令中反引號表示不換行
' ':單引號,腳本中字符串要用單引號引起來,但是不同於雙引號的是,單引號不解釋變量
" ":雙引號,腳本中出現的字符串可以用雙引號引起來
5. shell中的管道應用
| 管道符在shell中使用的是最多的,很多命令都是需要組合命令來完成的,管道其實就是下一個命令對上一個命令的輸出做處理。
6. 重定向
> 重定向輸入 覆蓋原數據
>> 重定向輸入 追加內容
< 重定向輸出
<< 重定向追加輸出
7. shell數學運算
expr 命令:只能做整數運算,格式比較古板 注意空格
使用bc計算處理浮點運算,scale=2代表小數點保留兩位
雙小圓括號運算,在shell中(())也可以用來做數學運算
8. 退出腳本
exit NUM 退出腳本,釋放系統資源,NUM代表一個整數,代表返回值
學習視頻:https://www.bilibili.com/video/BV1vE41127wm?t=1245&p=5