Shell 指令碼例項

2021-08-21 02:30:16 字數 3275 閱讀 9962

指令碼內容如下:

#!/bin/bash

action() # 定義函式,進行操作指南

action $1

database=`mysql -uroot -p$1 -en -e

"show databases;"|grep -e "^\*|schema$" -v `

mkdir -p /mnt/sqldump/

[ -e

"$database_name".sql ]&& case $1

case() # 定義函式,匹配操作

backup.sql

done

echo backup

;;o) # o 時覆蓋原備份

for database_name in

$database

do mysqldump -uroot -p$1

$database_name > /mnt/sqldump /$.sql

[ "$?"

-eq"0" ]&&

done

echo overwrite

;;exit)

exit

0 ;;

*) # 如果錯誤,提示正確輸入

echo

"error:please inout [s] [b] [o] or exit!!"

action $1

case $1

esac

} case $1

執行如下:

# 設定時間,不退出

set"ip" [ lindex $argv

0 ] # 第乙個引數為 ip

set"pass" [ lindex $argv

1 ] # 第二個引數為 pass

spawn ssh root@$ip

# 執行 ssh 命令

expect

"password"

} interact # 登入後可執行操作

執行如下:

指令碼內容:

執行結果:

auto_check() # 定義函式,進行自動連線主機

"password"

} expect eof

eof} for ip in # 定義訪問主機號,並將資訊儲存

do ping -c1 -w1 172.25.151.$ip &> /dev/null &&

echo

172.25.151.$ip

$host_name >> /mnt/ip.host.list

done

指令碼內容:

執行如下:

# 安裝 httpd 服務

yum install mariadb-server -y &>/dev/null && echo -e "\033[31mmariadb is installed\033[0m";

# 安裝 mariadb 服務

# 啟動 httpd 服務

# 修改 httpd 服務埠

systemctl start mariadb &>/dev/null && echo -e "\033[31mmariadb is starting\033[0m";

# 啟動 mariadb 服務

# 讓防火牆允許 httpd 服務

#進行論壇搭建

cp /root/desktop/discuz_x3.2_sc_utf8.zip /var/www/html/;

cd /var/www/html/;

/usr/bin/expect <10

spawn unzip discuz_x3.2_sc_utf8.zip

expect

} eof

chmod 777 /var/www/html -r;

firefox $1/upload;

執行如下:

shell指令碼例項

1.批量建立10個系統賬號test01 test10,並隨機設定8位數密碼 bin bash for i in seq w 10 do useradd test i echo random madsum cut c 8 tee a passwd.txt stdin test i done 2.在目錄...

Shell指令碼例項

1.寫乙個指令碼,利用迴圈計算10的階乘 bin sh factorial 1 for a in seq 1 10 dofactorial expr factorial a done echo 10 factorial 注 上面有一行,for a in seq 1 10 其中seq 1 10 即列出...

Shell 指令碼例項

1 使用for迴圈在 www目錄下批量建立10個html 檔案,名稱為隨機小寫10個字母加日期 bin bash if d opt www then mkdir p opt www ficd opt www for i in seq 10 do random echo random md5sum c...