shell程式設計100例(5)

2021-09-29 17:15:42 字數 3132 閱讀 3282

21、使用 expect 工具自動互動密碼遠端其他主機安裝 httpd 軟體

#!/bin/bash

rm ‐rf ~/.ssh/known_hosts

#刪除~/.ssh/known_hosts後,ssh 遠端任何主機都會詢問是否確認要連線該主機

expect <22、一鍵部署 lnmp(原始碼安裝版本)

#!/bin/bash

menu()

choice()

install_nginx()

install_mysql()

install_php()

while :

domenu

choice

case $select in

1)install_nginx

;;2)

install_mysql

;;3)

install_php

;;4)

exit

;;*)

echo sorry!

esac

done

23、編寫指令碼快速轉殖 kvm 虛擬機器

#!/bin/bash

img_dir=/var/lib/libvirt/images

basevm=rh7_template

read -p "enter vm number: " vmnum

if [ vmn

um−l

e9];

then

vmnu

m=

0vmnum -le 9 ];then vmnum=0

vmnum−

le9]

;the

nvmn

um=0

vmnum

fiif [ -z 「$」 ]; then

echo 「you must input a number.」

exit 65

elif [[ $ =~ [a‐z] ]; then

echo 「you must input a number.」

exit 66

elif [ $ -lt 1 -o $ -gt 99 ]; then

echo 「input out of range」

exit 67

finewvm=rh7_node$

if [ -e img

dir/

img_dir/

imgd​i

r/.img ]; then

echo 「file exists.」

exit 68

fiecho -en 「creating virtual machine disk image…\t」

qemu‐img create -f qcow2 ‐b img

dir/

.img_dir/.

imgd​i

r/..img img

dir/

img_dir/

imgd​i

r/.img &> /dev/null

echo -e 「\e[32;1m[ok]\e[0m」

#virsh dumpxml bas

ev

m>/t

mp/m

yvm.

xmlc

at/v

ar/l

ib/l

ibvi

rt/i

mage

s/.r

hel7.

xm

l>/t

mp/m

yvm.

xmls

ed−i

"/

me

>

> /tmp/myvm.xml cat /var/lib/libvirt/images/.rhel7.xml > /tmp/myvm.xml sed -i "/ba

sevm

>/t

mp/m

yvm.

xmlc

at/v

ar/l

ib/l

ibvi

rt/i

mage

s/.r

hel7

.xml

>/t

mp/m

yvm.

xmls

ed−i

"/me

>

/s/bas

evm/

/ba

sevm

//" /tmp/myvm.xml

sed -i 「/uuid/s/.*/katex parse error: undefined control sequence: \/ at position 11: (uuidgen)<\̲/̲uuid>/" /tmp/my….img/s/bas

evm/

/ba

sevm

//」 /tmp/myvm.xml

#修改mac位址

sed -i 「/mac /s/a1/0c/」 /tmp/myvm.xml

echo -en 「defining new virtual machine…\t\t」

virsh define /tmp/myvm.xml &> /dev/null

echo -e 「\e[32;1m[ok]\e[0m」

24、點名器指令碼

#!/bin/bash

while :

do#統計 user 檔案中有多少使用者

line=cat user.txt |wc ‐l

num=[ra

ndom

sed−

n"

[random%line+1] sed -n "

[rando

msed

−n"p" user.txt

#列印user.txt中的資料

sleep 0.2

clear

done

25、檢視有多少遠端的 ip 在連線本機

#!/bin/bash

netstat -atn | awk 『』 | awk 『』 | sort -nr | uniq -c

#使用netstat -atn檢視本機所有連線的狀態

#使用awk命令顯示第五列資料,再顯示第一列ip位址的資訊

shell程式設計100例 6 10

6 猜數字遊戲 bin bash num ra ndom echo random 100 1 echo rando mech o num while doread p 計算機生成了乙個 1 100 的隨機數,你猜 cai if cai eq num then echo 恭喜,猜對了 exit eli...

shell程式設計100例(6 10)

6 猜數字遊戲 bin bash 指令碼生成乙個 100 以內的隨機數,提示使用者猜數字,根據使用者的輸入,提示使用者猜對了,猜小了或猜大了,直至使用者猜對指令碼結束。random 為系統自帶的系統變數,值為 0 32767的隨機數 使用取餘演算法將隨機數變為 1 100 的隨機數 num rand...

shell程式設計100例(3)

11 石頭 剪刀 布遊戲 bin bash game 石頭 剪刀 布 num katex parse error expected eof got at position 12 random 3 生成0到2的乙個隨機數 com echo 請根據下列提示選擇您的出拳手勢 echo 1.石頭 echo ...