图片来源谷歌搜索
## 1.编写 hello world 脚本
echo "Hello word"
## 每周5使用tar命令备份/var/log下的所有日志文件
#编写备份脚本 备份后的文件名包含日期标签 防止后面的备份将前面的备份数据覆盖
#注 意 date 命令需要使用反引号括起来,反引号在键盘 < tab>键上面
#vim /root/logbak.sh
tar -czf log-`data +%F %T`.tar.gz /var/log
#crontab -e #编写计划任务,执行备份脚本
00 03 * * 5 /root/logbak.sh
#编写一个 shell 脚本,实现猜数字游戏数字答案为 1 到 100 的随机数,执行脚本后等待用户输入数字,若猜中则结束游戏,未猜中则返回答案和所输入数字的大小关系,最多可以猜5次,5次均未猜中则结束游戏
num=$[RANDOM%100+1]
for ((i=1;i<=5;i++));do
read -p "计算机生成了一个1-100的随机数 你猜:" cai
if [ $cai -eq $num ];then
echo "ohoo...so luckly.您猜对了"
exit
elif [ $cai -gt $num ];then
echo "so bad.. 您猜大了"
else
echo "so bad..您猜小了"
fi
done
#自建CA
if [ ! -d /etc/pki/CA ];then
mkdir /etc/pki/CA/{certs.newcerts,private,crl} -pv &> /dev/null
cd /etc/pki/CA
(umask 077;openssl genrsa -out private/cakey.pem 1024)
expect <<EOF
spawn openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650
expect ":" {send "CN\n"}
expect ":" {send "beijing\n"}
expect ":" {send "beijing\n"}
expect ":" {send "magedu\n"}
expect ":" {send "devops\n"}
expect ":" {send "ca.magedu.com\n"}
expect ":" {send "[email protected]\n"}
expect eof
EOF
fi
[ -f /etc/pki/CA/index.txt ] || touch /etc/pki/CA/index.txt
[ -f /etc/pki/CA/serial ] || echo 0F > /etc/pki/CA/serial
#vim crt.sh
if [ -f /data/$csr ];then
cer=`echo $csr|cut -d. -f1`
expect <<EOF
spawn openssl ca -in /data/$csr -out /etc/pki/CA/certs/$cer.crt -days 666
expect "]:" {send "y\n"}
expect "]" {send "y\n"}
expect eof
EOF
fi
#编写一个 shell 脚本,该脚本可以实现在 CenOS7.6 系统上快速部署一个基于 http 的 yum 私有仓库源,该源的软件包由对应的系统光盘 dvd1 提供。
#1. install httpd server
yum install httpd -y
#2. enable httpd service
systemctl enable httpd
systemctl restart httpd
#3. mount os iso dvd
mkdir -pv /cdrom &> /dev/null
echo "/dev/cdrom /cdrom iso9660 ro 0 0" >> /etc/fstab
mount -a
cd /etc/yum.repos.d/
mkdir -pv bak &> /dev/null
mv *.repo bak
echo '[base-iso]' > base.repo
echo 'baseurl=file:////misc/cd/BaseOS' >> base.repo
echo 'gpgcheck=0' >> base.repo
cd
# make symbolic link
ln -s /cdrom /var/www/html/centos7
yum clean all
#打印国际象棋
red(){
echo -e "\033[41m \033[0m\c"
}
yel(){
echo -e "\033[43m \033[0m\c"
}
redyel(){
for ((i=1;i<=4;i++));do
for ((j=1;j<=4;j++));do
red;yel
done
echo
done
}
yelred(){
for ((i=1;i<=4;i++));do
for ((j=1;j<=4;j++));do
yel;red
done
echo
done
}
for ((line=1;line<=8;line++));do
[ $[$line%2] -eq 0 ] && redyel || yelred
done
#打印99乘法表
for i in {1..9};do
for j in `seq $i`;do
echo -e "${j}x${i}=$[i*j]\t\c"
done
echo
done