Shell指令碼應用(三)

2021-10-01 12:14:24 字數 3096 閱讀 1693

一、 使用for語句應用示列

1、(1) 根據姓名列表批量新增使用者

批量新增使用者的指令碼

[root@centos01 ~]# vim uaddfor.sh

#!/bin/bash

ulist=$(cat /root/users.txt)

for uname in $ulist

douseradd $uname

echo 「123456」 | passwd --stdin katex parse error: expected 'eof', got '&' at position 7: uname &̲>/dev/null done…(cat /root/users.txt)

for uname in $ulist

douserdel -r katex parse error: expected 'eof', got '&' at position 7: uname &̲>/dev/null don …(cat /root/add_host.txt)

for ip in $host

doping -c 3 -i 0.3 -w 3 $ip &>/dev/null

if [ $? -eq 0 ]

then

echo 「host $ip is up」

else

echo 「host $ip is down」

fidone

測試並確認執行結果

二、 whlie語句應用

1、(1)批量新增規律編號的使用者

批量新增使用者的指令碼

[root@centos01 ~]# vim usddwhile.sh

#!/bin/bash

prefix=「user」

i=1while [ $i -le 20 ]

douseradd pre

fixpr

efix

iecho 「123456」 | passwd --stdin pre

fixpr

efix

i &> /dev/null

let i++

done

測試並執行結果

批量測試使用者的指令碼

[root@centos01 ~]# vim udelwhile.sh

#!/bin/bash

prefix=「user」

i=1while [ $i -le 20 ]

douserdel -r pre

fixpr

efix

ilet i++

done

測試並確認執行結果

[root@centos01 ~]# chmod +x udelwhile.sh

[root@centos01 ~]# ./udelwhile.sh

提示無此使用者

(2) 猜**優秀

[root@centos01 ~]# vim pricegame.sh

times=0

echo 「商品實際**範圍為0-49,猜猜看是多少?」

while true

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

let times++

if [ $int -eq $price ] ; then

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

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

exit 0

elif [ $int -gt katex parse error: expected 'eof', got '#' at position 89: …oot@centos01 ~]#̲ chmod +x udelw…key" in

[a-z] | [a-z])

echo 「你輸入的是 字母.」

;;[0-9])

echo 「你輸入的是 數字.」

;;*)

echo 「你輸入的是 空格、功能鍵或者其他空字元.」

esac

測試[root@centos01 ~]# chmod +x hitkey.sh

(3) 編寫系統服務指令碼

[root@centos01 ~]# vim myprog

#!/bin/bash

case 「$1」 in

start)

echo -n "正在啟動sleep服務 … "

if sleep 7200 &

then

echo 「ok」

fi;;

stop)

echo -n "正在停止sleep服務 … "

pkill 「sleep」 &> /dev/null

echo 「ok」

;;status)

if pgrep 「sleep」 &>/dev/null ; then

echo 「sleep 服務已經啟動.」

else

echo 「sleep 服務已經停止.」

fi;;

restart)

$0 stop

$0 start

;;*)

echo 「用法: $0 」

esac

測試並確認指令碼的執行

Shell指令碼應用

shell script shell指令碼與windows dos下的批處理相似,也就是用各類命令預先放入到乙個檔案中,方便一次性執行的乙個程式檔案,主要是方便管理員進行設定或者管理用的。但是它比windows下的批處理更強大,比用其他程式設計程式編輯的程式效率更高,它使用了linux unix下的...

shell指令碼基本應用

chmod x hello.sh 給檔案增加執行許可權 hello.sh 執行指令碼 sh hello.sh 以sh執行指令碼 bash hello.sh 以bash執行指令碼 source hello.sh 以source執行指令碼,該指令碼檔案可以無 執行許可權 if有三種表示式 1.if fi...

shell指令碼應用(四)

shell環境根據命令執行後的返回狀態值 來判斷是否執行成功,當返回值為0是表示成功,否則 非0值 表示失敗或者異常。使用專門的測試工具 test命令,可以對特定條件進行測試,並根據返回值來判斷條件是否成立 返回值為0時表示條件成立 使用test測試命令時,包括以下兩種形式。test 條件表示式 或...