这篇文章上次修改于 1748 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

1、編寫hello world腳本

#!/bin/bash
#編寫hello world腳本
echo "Hello World!"

2、通過位置變量創建Linux系統賬戶及密碼

#!/bin/bash
#通過位置變量創建Linux系統賬戶及密碼
#$1是執行腳本的第一個參數,$2是執行腳本的第二個參數
useradd   "$1"
echo "$2" | passwd --stdin "$1"

3、備份日誌

#!/bin/bash
#每周五使用tar命令備份/var/log下的所有日誌文件
#vim /root/logbak.sh
#編寫備份腳本,備份後的文件名包含日期標籤,防止後面的備份將前面的備份數據覆蓋
注意data命令需要使用反引號括起來,反引號在鍵盤<tab>上面
tar -czf log-`date +%Y%m%d`.tar.gz /var/log
#crontab -e #編寫計劃任務,執行備份腳本
00 03 * * 5 /root/logbak.sh

4、一鍵部署LNMP(RPM包版本)

#!/bin/bash
#一鍵部署LNMP(RPM包版本)
#使用yum安裝部署LNMP,需要提前配置好yum源,否則該腳本會失敗
#本腳本使用於centos7.2或RHEL7.2
yum -y install httpd
yum -y install mariadb mariadb-devel mariadb-server
yum -y install php php-mysql

systemctl start httpd mariadb
systemctl enable httpd mariadb

5、監控內存和磁盤容量,小於給定值時報警

#!/bin/bash

#實時監控本機內存和硬盤剩餘空間,剩餘內存小於500M、根分區剩餘空間小於1000M時,發送報警郵件給root管理員
#提取根分區剩餘空間
disk_size=$(free | awk '/\//{print $4}')
#提取內存剩餘空間
mem_size=$(free | awk '/Mem/{print $4}')
while :
do
#注意內存和磁盤提取的空間大小都是以Kb為單位
if [ $disk_size -le 512000 -a $mem_size -le 1024000 ]
then
    mail -s "Warning" root <<EOF
       Insufficient resources,資源不足
EOF
fi
done

6、猜數字遊戲

#!/bin/bash

#腳本生成一個100以內的隨機數,提示用戶猜數字,根據用戶的輸入,提示用戶猜對了
#猜小了或猜大了,直至用戶猜對腳本結束

#RANDOM為系統自帶的系統變量,值為0-32767的隨機數
#使用取余算法將隨機數變成1-100的隨機數
num=$[RANDOM%100+1]
echo "$num"

#使用read提示用戶猜數字
#使用if判斷用戶猜數字的大小關係:-eq(等於),-ne(不等於),-gt(大於),-ge(大於等於),
#-lt(小於),-le(小於等於)
while :
do
                 read -p "計算機生成了一個1-100的隨機數,你猜: " cai
              if [ $cai -eq $num ]
              then
                 echo "恭喜,你猜對了"
                 exit
                 elif [ $cai -gt $num ]
                 then
                          echo "Oops,猜大了"
                 else
                          echo "Oops,猜小了"
                 fi
done

7、檢測本機當前用戶是否為超級管理員,如果是管理員,則使用yum安裝vsftpd,如果不是,則提示您非管理員(使用字串對比版本)

#!/bin/bash

#檢測本機當前用戶是否為超級管理員,如果是管理員,則使用yum安裝vsftpd,如果不是,則提示您非管理員(使用字串對比版本)
if [ $USER == "root" ]
then
yum -y install vsftpd
else
echo "您不是管理員,沒有權限安裝軟件"
fi

8、檢測本機當前用戶是否為超級管理員,如果是管理員,則使用yum安裝vsftpd,如果不是,則提示您非管理員(使用UID數字對比版本)

#!/bin/bash

#檢測本機當前用戶是否為超級管理員,如果是管理員,則使用yum安裝vsftpd,如果不是,則提示您非管理員(使用UID數字對比版本)
if [ $UID -eq 0 ];then
yum -y install vsftpd
else
echo "您不是管理員,沒有權限安裝軟件"
fi