上部:
面向過(guò)程:
順序執(zhí)行
選擇執(zhí)行: if, case
循環(huán)執(zhí)行: for, while, until
一、for語(yǔ)句
格式:
for 變量 in 列表;do
語(yǔ)句1;
語(yǔ)句2;
...
done
例1、寫(xiě)一個(gè)腳本,添加10個(gè)用戶,并讓每個(gè)用戶的密碼同用戶名】
代碼如下:
#!/bin/bash
for I in {1..10}; do
useradd user$I;
echo user$I | passwd --stdin user$I
done
例2、寫(xiě)一個(gè)腳本,分別顯示 /tmp/1.dir /tmp/2.dir /tmp/3.dir三個(gè)文件的時(shí)間戳,并將這三個(gè)文件被修改的時(shí)間改為201003030303.03
代碼如下:
#!/bin/bash
for Dir in /tmp/1.dir /tmp/2.dir /tmp/3.dir; do
stat $Dir
touch -m -t 201003030303.03 $Dir
stat $Dir
done
bash的變量類(lèi)型:
本地變量
局部變量
環(huán)境變量
位置變量 :$1、$2、$3、$4....
特殊變量:
$?: 用于保存剛剛執(zhí)行的命令的狀態(tài)返回值;
0:成功執(zhí)行;1-255:失敗,1,2,127
可以使用exit命令在腳本中自定義腳本執(zhí)行狀態(tài)返回值;如果不定義,腳本執(zhí)行狀態(tài)返
回值取決于腳本執(zhí)行結(jié)束前最后執(zhí)行的那個(gè)語(yǔ)句的狀態(tài);
$@, $*: 所有位置參數(shù);
$#: 位置參數(shù)的個(gè)數(shù);
$0: 腳本名稱(chēng)
二、if語(yǔ)句
1、單分支if語(yǔ)句:
格式:
if 條件; then
語(yǔ)句1
語(yǔ)句2
...
fi
例3、寫(xiě)一個(gè)腳本,實(shí)現(xiàn)如下功能: 如果用戶存在,就說(shuō)明其存在;
代碼如下:
#!/bin/bash
UserName=user1
if grep "^$UserName/>" /etc/passwd &> /dev/null; then
echo "$UserName exists."
fi
例4、寫(xiě)一個(gè)腳本,實(shí)現(xiàn)如下功能:如果設(shè)備/dev/sda3已經(jīng)掛載,就顯示其掛載點(diǎn);
代碼如下:
#!/bin/bash
Device='/dev/sda3'
if mount | grep "^$Device" &> /dev/null; then
新聞熱點(diǎn)
疑難解答
網(wǎng)友關(guān)注