前言-----我也是半吊子
用什麼學什麼,沒有系統地或者專門地學習過linux命令及bash腳本,一切動力都是來自web安全
正文
1.linux中的變量
變量是一個很重要的概念,無論是bash腳本還是其他語言,都是如此。在bash中,創建變量很簡單,給變量一個名稱即可。默認情況下,變量的值爲空。我們可以通過等號爲變量賦值。需要注意的是,變量和變量的值不是一個概念。當給定變量一個名稱後,例如myvar,我們需要通過$取得變量的值,即$myvar。使用echo輸出變量的值。
輸出變量的值的格式爲:echo $myvar 或者 echo ${myvar}
使用變量的時候,需要注意以下幾點:
1. 給變量賦值的時候,如果值包含空格,需要用單引號或者雙引號包起來,否則會引起錯誤
2. 給變量賦值的時候,如果使用單引號,那麼單引號裏面的變量就不會解析成真正的值。使用雙引號則可以
3. 可以將一個命令執行的結果賦給一個變量。格式爲:myvar=$(command) 或者 `comand`。值得注意的是,務必要將$()和${}的用途分開
2.單引號''和雙引號""
兩者都是解決變量中間有空格的問題。
在bash中“空格”是一種很特殊的字符,比如在bash中這樣定義str=this is String,這樣就會報錯,爲了避免出錯就得使用單引號''和雙引號""。
單引號'',雙引號""的區別是
單引號''剝奪了所有字符的特殊含義,單引號''內就變成了單純的字符,。
雙引號""則對於雙引號""內的參數替換($)和命令替換(``)是個例外。
比如說 n=3
echo '$n'
結果就是$3
改成雙引號 echo "$n",結果就是3
3.反引號``與$()
反引號``是命令替換,命令替換是指Shell可以先執行``中的命令,將輸出結果暫時保存,在適當的地方輸出。語法:`command`
$()也有命令替換的作用
4.${}與$
${ }中放的是變量,例如echo ${hello}取hello變量的值並打印,也可以不加括號比如$hello。
$的作用相當於引用某變量的值,例如變量myvar,我們需要通過$取得變量的值,即$myvar
更多資料可參考:https://www.cnblogs.com/jonathanlin/p/4063205.html
https://blog.csdn.net/lisulong1/article/details/79109296
https://blog.csdn.net/c289054531/article/details/9195899