以項目中的JS綁定腳本爲例來學習。
# 註釋標誌
>輸出到文件
>>追加到文件
<<表示後面的是輸入的結束符
cat>err.txt<<EOF
> aaaa
> 12321
> EOF
aaaa
12321
輸入到err.txtgetopts用於對命令行參數做處理,即調用腳本時後面帶的-n之類的參數。語法如下:
getopts 選項字符串 變量
case語句
case [目標] in
選項1);;
選項2);;必須以雙分號結束
esac
while [命令] do
…………
…………
done
echo 打印
$變量 表示獲取變量的值,${}表示花括號中是一個變量
wc 即wordCount命令,用於統計字數,-l表示統計行數
選項如果不帶參數可以寫在一起,例如 -l -t 可以寫成-lt
給變量賦值時,如果值中含有空格需要使用雙引號。
grep 文本匹配,使用正則表達式;egrep是它的擴展。
fgrep匹配固定字符串
basename 顯示一個文件路徑中的文件名
pwd 查看當前目錄的完整路徑
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 獲取當前腳本的所在路徑
其中BASH_SOURCE[0]指腳本所在路徑與當前路徑的相對路徑,dirname取得目錄
cd + 目錄的命令切換到腳本所在目錄,然後用pwd取得該目錄的完整路徑
shell命令中的&&表示 前一個命令返回成功之後,後一個命令才執行。
source命令,也稱點命令,指把另一個shell文件裏的命令全部加載進父文件,即其中的變量等變化全部在父文件生效。
-z +字符串 :如果字符串爲空則返回真值
數組: array[*]或者array[@]表示整個數組,#array 表示獲取數組的長度
-lt 小於 less than
let和(())都可用於變量賦值
${var##*string} 刪掉var 中最後一個string及其左邊的字符串
$0 取得腳本文件名