1.學會使用for、while回圈陳述句
for陳述句的結構
1.讀取不同的變數值,用來逐個執行同一組命令
for 變數名 in 取值串列
do
命令序列
done
用戶名存放在users.txt檔案中,每行一個
[root@localhost ~]# cat /root/users.txt
sifeichang
sifeizai
feichangguohuozai
初始密碼均設為123456
#!/bin/bash
user_list=$(cat /root/users.txt)
for username in $user_list
do
useradd $username &> /dev/null
echo “123456” | passwd --stdin $username &> /dev/null
echo “用戶 $username 已創建并設定初始密碼”
done

[root@localhost ~]# cat user.sh

[root@localhost ~]# tail -3 /etc/passwd

根據IP地址檢查主機狀態
IP地址存放在aaa.txt檔案中,每行一個
[root@localhost ~]# cat /root/aaa.txt
192.168.14.17
192.168.14.11
192.168.10.110
192.168.10.120
192.168.10.10
使用ping命令檢測各主機的連通性
[root@localhost ~]# ./aaa.sh

查看 /etc/passwd 有多少個用戶不能本地登錄 /sbin/nologin
依次輸出
使用for回圈陳述句
grep “/sbin/nologin$” /etc/passwd | awk -F: ‘{print $1}’> bbb.txt
#!/bin/bash
nlog_user=$(cat bbb.txt)
for user in ${nlog_user}
do
echo “$user 非本地登錄用戶”
done
99乘法表初始腳本:
#!/bin/bash
for x in {1…3}
do
for y in {1…3}
do
echo "$x * $y =
(
(
((
((x*$y))
done
done
while陳述句的結構
重復測驗某個條件,只要條件成立則反復執行
1.批量添加用戶
用戶名稱以stu開頭,按數字順序進行編號
一共添加20個用戶,即sfz1、sfz2、……、sfz20
初始密碼均設為123456
[root@localhost ~]# cat s.sh
#!/bin/bash
PREFIX=“sfz”
i=1
while [ $i -le 20 ]
do
useradd
P
R
E
F
I
X
{PREFIX}
PREFIXi
echo "123456" | passwd --stdin
P R E F I X {PREFIX} PREFIXi &> /dev/null
let i++
done
[root@localhost ~]# ./s.sh
[root@localhost ~]# grep “sfz” /etc/passwd | tail -3

1.猜商品價格游戲
通過變數RANDOM獲得亂數
提示用戶猜測并記錄次數,猜中后退出回圈
[root@localhost ~]# vi youxi.sh
#!/bin/bash
PRICE=$(expr $RANDOM % 500)
TIMES=0
echo “商品實際價格為0-499之間,猜猜看是多少?”
while true
do
read -p “請輸入你猜測的價格數目:” INT"
let TIMES++
if [ $INT -eq $PRICE ] ; then
echo “恭喜你答對了,實際價格是 $PRICE”
echo “你總共猜測了 $TIMES 次”
elif [ $INT -gt $PRICE ] ; then
echo “太高了!”
else
echo “太低了!”
fi
done
[root@localhost ~]# ./youxi.sh


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/212522.html
標籤:其他
