第七章 Shell指令碼應用(三)

2021-10-10 10:16:16 字數 2852 閱讀 2978

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

douseradd $username &> /dev/null

echo 「123456」 | passwd --stdin $username &> /dev/null

echo 「使用者 $username 已建立並設定初始密碼」

根據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命令檢測各主機的連通性

檢視 /etc/passwd 有多少個使用者不能本地登入 /sbin/nologin

依次輸出

使用for迴圈語句

grep 「/sbin/nologin$」 /etc/passwd | awk -f: 『』> bbb.txt

#!/bin/bash

nlog_user=$(cat bbb.txt)

for user in $

doecho 「$user 非本地登入使用者」

done

99乘法表初始指令碼:

#!/bin/bash

for x in

dofor y in

doecho "$x * $y = ((((

((x*$y))

done

done

while語句的結構

重複測試某個條件,只要條件成立則反覆執行

1.批量新增使用者

使用者名稱以stu開頭,按數字順序進行編號

一共新增20個使用者,即sfz1、sfz2、……、sfz20

初始密碼均設為123456

1.猜商品**遊戲

通過變數random獲得隨機數

提示使用者猜測並記錄次數,猜中後退出迴圈

[root@localhost ~]# vi youxi.sh

#!/bin/bash

price=$(expr $random % 500)

times=0

echo 「商品實際**為0-499之間,猜猜看是多少?」

while true

doread -p 「請輸入你猜測的**數目:」 int"

let times++

if [ $int -eq $price ] ; then

echo 「恭喜你答對了,實際**是 $price」

echo 「你總共猜測了 $times 次」

elif [ $int -gt $price ] ; then

echo 「太高了!」

else

echo 「太低了!」

第七章 Shell指令碼應用(二)

條件測試操作 1.test命令 測試特定的表示式是否成立,當條件成立時,測試語句的返回值為0,否則為其他數值 2.檔案測試 常用的測試操作符 d 測試是否為目錄 directory e 測試目錄或檔案是否存在 exist f 測試是否為檔案 file r 測試當前使用者是否有許可權讀取 read w...

Shell指令碼應用(三)

一 使用for語句應用示列 1 1 根據姓名列表批量新增使用者 批量新增使用者的指令碼 root centos01 vim uaddfor.sh bin bash ulist cat root users.txt for uname in ulist douseradd uname echo 123...

python第七章 python教程(第七章)

字典和集合 字典是python中唯一,乙個對映型別 如何建立乙個字典,如下 dict dict 滲透 網路安全 怎麼理解字典呢?現實生活中的字典可以通過首字母進行查詢要查詢的漢子,python也可以這樣理解,通過 前的元素查詢到冒號後的元素。為什麼說字典是唯一乙個對映型別呢?看圖。對映型別區別與序列...