變量
#hostname
#uname -r
cat /proc/cpuinfo
#free -m
#df
變量類型及變量操作
本地變量只存在用戶當前shell中,當用戶退出當前shell或開器一個新的shell,所設置的變量將會不存在
設置變量
#變量名=變量值
顯示變量
#echo ${變量名}
假設a=1 顯示則 echo ${a}
環境變量用于所有用戶進程(經常稱為子進程)。登錄進程稱為父進程。Shell中執行的用戶進程均稱為子進程。不像本地變量,環境變量可用于所有子進程,這包括編輯器、腳本和應用
環境變量在用戶注銷時會消失,因此最好在$HOME/.bash_profile(/etc/profile)文件里直接定義
位置變量表示$0,$1… …$9 (只有9個)
$0 | $1 | $2 | $3 | $4 | $5 | $6 | $7 | $8 | $9 |
腳本名字 | A | B | C | D | E | F | G | H | I |
$0=當前腳本名稱
向腳本中使用位置參數
向系統命令傳遞參數
$# 傳遞到腳本的參數列表個數
$* ($@) 以一個單字符串顯示所有向腳本傳遞的參數
$$ 腳本運行的當前進程ID號
$? 顯示最后命令的退出狀態。0表示沒有錯誤,其他任何值表明有錯誤。


引用的必要性


變量操作中,腳本執行變量賦值時最容易犯的一個錯誤就是引用錯誤
例:echo abc * 
echo abc ‘*' 
echo Hit the star button to exit *

引用的方式
雙引號(“) (需要排除以下幾個)
使用雙引號可以引用除$、`、/、字符外的任意字符或字符串
單引號(‘) (比較霸道,任何都可以轉成字符)
與雙引號類似,不同的是shell會忽略任何引用值。
換句話說,如果屏蔽了其特殊含義,會將引號里的所有字符,都作為一個字符串。

反引號(`) (將括號內的當作命令來執行)
用于設置系統命令的輸出到變量。
shell將反引號中的內容作為一個系統命令,并執行其內容

反斜杠(/)
如果一個字符有特殊含義,反斜線防止shell誤解其含義,即屏蔽其特殊含義。
下述字符包含有特殊意義:& * + ^ $ ` ” | ?


腳本實例
#!/bin/bash
#This is the first script
echo “Hello,World!”
執行:
chmod u+x Hello.sh
./Hello.sh
#!/bin/bash
echo $1
echo $2
echo $3
echo $4
echo $5
echo $6
echo $7
echo $8
echo $9
echo $10


echo 主站蜘蛛池模板: 西平县| 黑龙江省| 平舆县| 登封市| 桃源县| 诏安县| 苍梧县| 垫江县| 太康县| 斗六市| 平谷区| 宣威市| 鄂托克旗| 平度市| 尼木县| 南和县| 河津市| 夏津县| 拉孜县| 丹巴县| 荔波县| 贵德县| 丰镇市| 交城县| 瓦房店市| 家居| 金沙县| 分宜县| 牙克石市| 合江县| 长海县| 沾化县| 峨眉山市| 鄂尔多斯市| 太保市| 民勤县| 乌兰察布市| 济宁市| 宁陵县| 郸城县| 斗六市|