shell腳本的學習:
1.Shell的作用是解釋執行使用者的指令,使用者輸入一條指令,Shell就解釋執行一條,這種方式稱為互動式(Interactive),Shell還有
一種執行指令的方式稱為批處理(Batch),使用者事先寫一 個Shell腳本(Script),其中有很多條指令,讓Shell一次把這些指令執行完,而
不必一條一條地敲指令。
2.shell變量包括環境變量和本地變量,環境變量可以從父程序傳給子程序,printenv可列印出來;本地變量隻存在于目前
Shell程序,用set指令可以顯示目前Shell程序中定義的所有變量(包括本地變量和環境變量)和函數。
3.變量引用:在Shell中定義或指派一個變量:VARNAME=value;變量引用的形式為${}, 變量引用的語句大概如下:

其中:env | grep xxx 可以檢視一個環境變量,export可以講一個變量導入為環境變量
4.檔案名代換:
通配符 * : 比對0個或多個任意字元
? : 比對一個任意字元
[若幹字元] : 比對方括号中任意一個字元的一次出現
5.指令替換
` 或 $():由反引号括起來的也是一條指令,Shell先執行該指令,然後将輸出結果立刻代換到目前指令行中;算術代換$(())
用于算術計算,$(())中的Shell變量取值将轉換成整數,$(())中隻能用+-*/和()運算符,并且隻能做整數運算
6.轉義字元 \
主要建立了使用‘$’ 和‘ -’作為檔案名的時候很麻煩,但是我們可以通過如下:
7.‘’和 “”的差別
和C語⾔言不一樣,Shell腳本中的單引号和雙引号一樣都是字元串的界定符,而不是字元的界定符。單引号用于保持引号内所有
字元的字面值,即使引号内的\和回車也不例外, 但是字元串中不能出現單引号;雙引号⽤用于保持引号内所有字元的字⾯面值(回車
也不例外),但有些情況除外。可以參照下例:
最後我們談一談shell是怎麼執行的吧:
shell是通過fork/exec去執行的,每次執行一條指令的時候都是通過fork出一個子程序去執行的,而父程序等待子程序執行完才執行的。
是以我可以知道一個很有趣的現象,我們有如下腳本:
#!/bin/bash
pwd
cd ..
pwd
這就說明shell會fork子程序去執行指令;不過我們也可以不讓shell産生子程序,這是我們可以這樣做:
因為 "."是内建指令,它會是shell不産生子程序而去執行,關于内建指令可自己去查找一下,挺多的。
好了,shell腳本的基本符号我介紹完了,确實比較有限,關于其他内容我會在接下來的部落格在進行介紹,關于符号的相關知識大家可以
查閱一些資料或參考一些書籍在強化一下,我說的這些知識常見的一些而已。