linux Shell學(xué)習(xí)筆記第二天
變量
-
獲取本機(jī)主機(jī)名
#hostname
-
獲取本系統(tǒng)版本號
#uname -r
-
獲取cpu類型
-
獲取cpu的工作頻率
cat /proc/cpuinfo
-
獲取內(nèi)存使用情況
#free -m
-
獲取硬盤使用情況
#df
變量類型及變量操作
-
本地變量(一般所指)
本地變量只存在用戶當(dāng)前shell中,當(dāng)用戶退出當(dāng)前shell或開器一個(gè)新的shell,所設(shè)置的變量將會(huì)不存在
設(shè)置變量
#變量名=變量值
顯示變量
#echo ${變量名}
假設(shè)a=1 顯示則 echo ${a}
-
環(huán)境變量(用的非常少)
環(huán)境變量用于所有用戶進(jìn)程(經(jīng)常稱為子進(jìn)程)。登錄進(jìn)程稱為父進(jìn)程。Shell中執(zhí)行的用戶進(jìn)程均稱為子進(jìn)程。不像本地變量,環(huán)境變量可用于所有子進(jìn)程,這包括編輯器、腳本和應(yīng)用
環(huán)境變量在用戶注銷時(shí)會(huì)消失,因此最好在$HOME/.bash_profile(/etc/profile)文件里直接定義
-
位置變量(跟腳本和函數(shù)有很大的關(guān)系)
位置變量表示$0,$1… …$9 (只有9個(gè))
$0
$1
$2
$3
$4
$5
$6
$7
$8
$9
腳本名字
A
B
C
D
E
F
G
H
I
$0=當(dāng)前腳本名稱
向腳本中使用位置參數(shù)
向系統(tǒng)命令傳遞參數(shù)
-
特殊變量
$# 傳遞到腳本的參數(shù)列表個(gè)數(shù)
$* ($@) 以一個(gè)單字符串顯示所有向腳本傳遞的參數(shù)
$$ 腳本運(yùn)行的當(dāng)前進(jìn)程ID號
$? 顯示最后命令的退出狀態(tài)。0表示沒有錯(cuò)誤,其他任何值表明有錯(cuò)誤。
引用的必要性
變量操作中,腳本執(zhí)行變量賦值時(shí)最容易犯的一個(gè)錯(cuò)誤就是引用錯(cuò)誤
例:echo abc *
echo abc ‘*'
echo Hit the star button to exit *
引用的方式
雙引號(“) (需要排除以下幾個(gè))
使用雙引號可以引用除$、`、\、字符外的任意字符或字符串
單引號(‘) (比較霸道,任何都可以轉(zhuǎn)成字符)
與雙引號類似,不同的是shell會(huì)忽略任何引用值。
換句話說,如果屏蔽了其特殊含義,會(huì)將引號里的所有字符,都作為一個(gè)字符串。
反引號(`) (將括號內(nèi)的當(dāng)作命令來執(zhí)行)
用于設(shè)置系統(tǒng)命令的輸出到變量。
shell將反引號中的內(nèi)容作為一個(gè)系統(tǒng)命令,并執(zhí)行其內(nèi)容
反斜杠(\)
如果一個(gè)字符有特殊含義,反斜線防止shell誤解其含義,即屏蔽其特殊含義。
下述字符包含有特殊意義:& * + ^ $ ` ” | ?
腳本實(shí)例
-
Hello.sh
#!/bin/bash
#This is the first script
echo “Hello,World!”
執(zhí)行:
chmod u+x Hello.sh
./Hello.sh
-
var.sh
#!/bin/bash
echo $1
echo $2
echo $3
echo $4
echo $5
echo $6
echo $7
echo $8
echo $9
echo $10
-
#!/bin/bash
echo –e “hostname\t `hostname`”
echo –e “OScore\t `uname -r`”
echo –e “CPUInfo\t `grep “model name” /proc/cpuinfo|awk –F: ‘{print $2}'`”
ehco –e “CPUMHz\t `grep “MHz” /proc/cpuinfo | awk –F: ‘{print $2}'`”
echo –e “MEMTotal\t `free | awk ‘$1=”Mem:”{print $2}'`”
echo –e “DiskInfo\t `df | grep dev |awk ‘{print $1 $2}'`”
回顧:
腳本的結(jié)構(gòu)與運(yùn)行
變量的類型及用法
環(huán)境變量
本地變量
參數(shù)變量
特殊變量
變量賦值時(shí)的引用方法
- linux shell數(shù)組深入學(xué)習(xí)理解
- linux shell腳本學(xué)習(xí)xargs命令使用詳解
- Linux學(xué)習(xí)之CentOS(一)----在VMware虛擬機(jī)中安裝CentOS 7(圖文教程)
- linux Shell學(xué)習(xí)筆記第一天
- linux Shell學(xué)習(xí)筆記第三天
- Linux shell腳本基礎(chǔ)學(xué)習(xí)詳細(xì)介紹(完整版)
- linux Shell學(xué)習(xí)筆記第四天
- linux Shell學(xué)習(xí)筆記第五天
- linux Shell學(xué)習(xí)筆記最后一節(jié),溫故與知新
- linux命令學(xué)習(xí)之10個(gè)網(wǎng)絡(luò)命令和監(jiān)控命令
- Linux學(xué)習(xí)資料下載(電子書籍)
- linux shell腳本基礎(chǔ)知識學(xué)習(xí)
- Linux學(xué)習(xí)基礎(chǔ)教程
- Linux命令學(xué)習(xí)總結(jié):詳解shutdown命令
- Linux命令學(xué)習(xí)總結(jié):詳解reboot命令
- Linux學(xué)習(xí)第一天——ssh登錄和軟件安裝詳解
- 個(gè)人學(xué)習(xí)Linux知識總結(jié)
- 快速自學(xué)Linux命令的4種方法
相關(guān)文章
- 本文主要介紹幾種軟件測試方法,這里對軟件測試做了幾種分類和匯總,在做軟件測試的時(shí)候可以用適當(dāng)?shù)姆椒ǎ行枰男』锇榭梢詤⒖枷?/div> 2016-08-08
在InstallShield中引用WINSOCK 的示例代碼
在InstallShield中引用WINSOCK 的示例代碼...2007-03-03Verilog關(guān)鍵詞的條件語句實(shí)例詳解
這篇文章主要為大家介紹了Verilog關(guān)鍵詞的條件語句實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04最新評論