-
總結位置變量$1,$2.. $10,$11…MAX
位置變量的含義分別就是代表第幾個參數,$1就是腳本運行的第一個參數.$2就是第二個.以此類推.直到最后.
-
$*,$@,$# 區別
特殊變量:
$0 : 表示命令本身
$#:傳遞給命令的參數個數
$*:傳遞給腳本的所有參數(所有參數是一個整體的字符串)
$@:傳遞給腳本的所有參數(各個參數都是獨立的字符串)
$*和$@的區別
相同點就是都是傳遞所有參數
不同點:
$*傳遞的所有參數是看作一個整體的字符串
$@傳遞的所有參數是看作一個個獨立的字符串
例證:
3.編寫腳本/root/bin/systeminfo.sh,顯示當前主機系統信息,包括主機名,IPv4地址,操作系統版本,內核版本,CPU型號,內存大小,硬盤大小。
4.編寫腳本/root/bin/backup.sh,可實現每日將/etc/目錄備份到/root/etcYYYY-mm-dd中
5.編寫腳本/root/bin/disk.sh,顯示當前硬盤分區中空間利用率最大的值
6.編寫腳本/root/bin/links.sh,顯示正連接本主機的每個遠程主機的IPv4地址和連接數,并按連接數從大到小排序
7.寫一個腳本/root/bin/sumid.sh,計算/etc/passwd文件中的第10個用戶和第20用戶的ID之和
8.寫一個腳本/root/bin/sumspace.sh,傳遞兩個文件路徑作為參數給腳本,計算這兩個文件中所有空白行之和
9.寫一個腳本/root/bin/sumfile.sh,統計/etc, /var, /usr目錄中共有多少個一級子目錄和文件
10.寫一個腳本/root/bin/argsnum.sh,接受一個文件路徑作為參數;如果參數個數小于1,則提示用戶“至少應該給一個參數”,并立即退出;如果參數個數不小于1,則顯示第一個參數所指向的文件中的空白行數
11.寫一個腳本/root/bin/hostping.sh,接受一個主機的IPv4地址做為參數,測試是否可連通。如果能ping通,則提示用戶“該IP地址可訪問”;如果不可ping通,則提示用戶“該IP地址不可訪問”
12.寫一個腳本checkdisk.sh,檢查磁盤利用率高于80的,并報警
13.編寫腳本/bin/per.sh,判斷當前用戶對指定的參數文件,是否不可讀并且不可寫
14.編寫腳本/root/bin/excute.sh ,判斷參數文件是否為sh后綴的普通文件,如果是,添加所有人可執行權限,否則提示用戶非腳本文件
15.編寫腳本/root/bin/nologin.sh和login.sh,實現禁止和充許普通用戶登錄系統
nologin.sh
login.sh
16.寫一個腳本/root/bin/hostping.sh,接受一個主機的IPv4地址做為參數,先判斷是否合格IP,否,提示IP格式不合法并退出,是,測試是否可連通。如果能ping通,則提示用戶“該IP地址可訪問”;如果不可ping通,則提示用戶“該IP地址不可訪問”
17.計算從腳本第一參數A開始,到第二個參數B的所有數字的總和,判斷B是否大于A,否提示錯誤并退出,是則計算之
原創文章,作者:Kartik,如若轉載,請注明出處:http://www.www58058.com/36065