写一个计算年龄的脚本,用户输入出生年份,程序输出 今年多少 xx 岁? (要求该脚本明后年继续使用) 1.1 要求设置用户输入年份必须在 1900~2025 之间 1.2 要求用户输入出生年份必须是正整数 1.3 要求用户不能输入为空
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 # !/bin/bash read -p "请输入你的出生年份" year now=$(date +%Y) if [ -z "$year" ] then echo "你的输入为空!" exit fi if [[ $year =~ ^[0-9]+$ ]] then if [ $year -le $now ] && [ $year -ge 1900 ] then echo '你今年'$(($now-$year))'岁' else echo"请输入1900至今的年份!" fi else echo "请输入正整数!" fi
写一个猜拳小游戏
1 2 3 4 5 6 7 8 9 10 2. 写一个猜拳小游戏 # caiquan.sh ------------------------ 1. 石头 2. 剪刀 3. 布 ------------------------ 请输入编号: 1 你赢了,电脑出的剪刀
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 # !/bin/bash cat <<EOF ------------------------ 1. 石头 2. 剪刀 3. 布 ------------------------ EOF read -p "请输入编号:" num ai=$[$RANDOM%3+1] case $num in 1) case $ai in 1) echo "平局,电脑出的石头" ;; 2) echo "你赢了,电脑出的剪刀" ;; 3) echo "你输了,电脑出的布" ;; esac ;; 2) case $ai in 1) echo "你输了,电脑出的石头" ;; 2) echo "平局,电脑出的剪刀" ;; 3) echo "你赢了,电脑出的布" ;; esac ;; 3) case $ai in 1) echo "你赢了,电脑出的石头" ;; 2) echo "你输了,电脑出的剪刀" ;; 3) echo "平局,电脑出的布" ;; esac ;; *) echo "请输入一到三的数字!" exit ;; esac
3.写一个脚本,执行后可看到根分区使用情况: 1).如果剩余空间在30%以上(包含),则提示: 根分区使用正常,剩余空间为XXG 2).如果剩余空间在30%(不包含)~15%(不包含),则提示: 根分区空间不多,剩余空间为XX,请及时清理 3).如果剩余空间低于15%(包含),则提示: 根分区空间告急,剩余空间为XX,请立即清理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 # !/bin/bash use=$(df -Th /|awk -F" " 'NR==2{print $6}'|tr -d %) kongjian=$(df -Th /|awk -F" " 'NR==2{print $5}') have=$((100-$use)) if [ $have -ge 30 ] then echo '根分区使用正常,剩余空间为'$kongjian'' elif [ $have -lt 30 ] && [ $have -gt 15 ] then echo '根分区空间不多,剩余空间为'$kongjian',请及时清理' else echo '根分区空间告急,剩余空间为'$kongjian',请立即清理' fi 4.写一个脚本,执行后创建系统用户,并设置密码 1). 要求用户名字只能由小写字母组成 2). 要求密码必须为纯数字,且大于6位以上(包含),否则提示不符合条件 # !/bin/bash read -p "请输入用户名(纯小写字母):" username if ! [[ "$username" =~ ^[a-z]+$ ]] then echo "用户名字只能由小写字母组成!" exit fi read -p "请输入密码,密码必须为纯数字,且大于6位以上:" passwd len=$(echo -n $passwd|wc -c) if ! [[ $passwd =~ ^[0-9]+$ ]] || [ $len -lt 6 ] then echo "你的密码不符合要求!密码必须为纯数字,且大于6位以上。" exit else useradd $username echo $passwd | passwd --stdin $username echo "用户"$username"创建成功" fi
4.写一个脚本,执行后创建系统用户,并设置密码 1). 要求用户名字只能由小写字母组成 2). 要求密码必须为纯数字,且大于6位以上(包含),否则提示不符合条件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 # !/bin/bash read -p "请输入用户名(纯小写字母):" username if ! [[ "$username" =~ ^[a-z]+$ ]] then echo "用户名字只能由小写字母组成!" exit fi read -p "请输入密码,密码必须为纯数字,且大于6位以上:" passwd len=$(echo -n $passwd|wc -c) if ! [[ $passwd =~ ^[0-9]+$ ]] || [ $len -lt 6 ] then echo "你的密码不符合要求!密码必须为纯数字,且大于6位以上。" exit else useradd $username echo $passwd | passwd --stdin $username echo "用户"$username"创建成功" fi
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 5.写一个脚本,要求输出菜单,执行单个功能完成系统初始化 # bash start.sh ------------------------------------- 系统初始化工具 1. 配置静态IP地址 2. 配置yum源 3. 配置主机名 4. 配置防火墙和Selinux(关闭) Q/q 退出工具 ------------------------------------- 请选择功能: 1 请输入IP地址: 请输入网关: 请输入子网掩码: "请稍后,正在检测是否配置成功!!!" "网络已配置正确!!!"
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 # !/bin/bash cat <<EOF ------------------------------------- 系统初始化工具 1. 配置静态IP地址 2. 配置yum源 3. 配置主机名 4. 配置防火墙和Selinux(关闭) Q/q 退出工具 ------------------------------------- EOF read -p "请选择功能: " num case $num in 1) read -p "请输入IP地址:" ipaddr read -p "请输入网关:" gateway read -p "请输入子网掩码:" netmask cat > /etc/sysconfig/network-scripts/ifcfg-ens33 <<EOF TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none DEFROUTE=yes NAME=ens33 DEVICE=ens33 ONBOOT=no DNS1=114.114.114.114 DNS2=8.8.8.8 IPADDR=$ipaddr NETMASK=$netmask GATEWAY=$gateway EOF echo ""请稍后,正在检测是否配置成功!!!"" systemctl restart network ifdown ens33 ifup ens33 if ping -w12 -c5 baidu.com &> /dev/null then echo "网络已配置正确!!!" else echo "网络配置失败!请检查配置" fi ;; 2) read -p "请输入你的yum源类型:" type read -p "请输入你的yum源名字:" yumname read -p "请输入你的yum源url:" baseurl cat > /etc/yum.repo.d/$yumname.repo <<EOF [$ type ]name=$yumname baseurl=$baseurl enabled=1 gpgcheck=0 EOF echo "yum源配置完成!" ;; 3) read -p "请输入你的主机名:" hostname cat > /etc/hostname << EOF $ hostname EOF echo "主机名已成功修改" ;; 4) systemctl disable firewalld --now setenforce 0;sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config echo "firewalld和selinux已禁用!" ;; esac