用户猜数字
[root@shell ~]# cat /server/num.sh #!/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
查看有多少远程的 IP 在连接本机
[root@shell ~]# cat /server/ip.sh #!/bin/bash #!/bin/bash # 查看有多少远程的 IP 在连接本机(不管是通过 ssh 还是 web 还是 ftp 都统计) # 使用 netstat ‐atn 可以查看本机所有连接的状态,‐a 查看所有, # -t仅显示 tcp 连接的信息,‐n 数字格式显示 # Local Address(第四列是本机的 IP 和端口信息) # Foreign Address(第五列是远程主机的 IP 和端口信息) # 使用 awk 命令仅显示第 5 列数据,再显示第 1 列 IP 地址的信息 # sort 可以按数字大小排序,最后使用 uniq 将多余重复的删除,并统计重复的次数 netstat -atn | awk '{print $5}' | awk '{print $1}' | sort -nr | uniq -c
脚本编写 剪刀 、 石头、布游戏
if
#!/bin/bash # 随机选择电脑的拳头 computer=$[$RANDOM%3+1] # 提示用户选择拳头 echo "请选择你的出拳(1.石头 2.剪刀 3.布)" read user # 判断输赢 if [ $computer -eq $user ]; then echo "平局" elif [ $computer -gt $user ]; then echo "你输了" elif [ $user -gt 3 ]; then echo "输入错误" else echo "你赢了" fi
case
[root@shell /server/scripts]$ cat shi1.sh #!/bin/bash # 随机选择计算机出的拳 comp=$((RANDOM%3)) # 提示用户选择拳 echo "请选择:0-布,1-石头,2-剪刀" read choice # 判断用户的选择 case $choice in 0) if [ $comp -eq 0 ]; then echo "平局" elif [ $comp -eq 1 ]; then echo "你赢了" else echo "计算机赢了" fi ;; 1) if [ $comp -eq 1 ]; then echo "平局" elif [ $comp -eq 2 ]; then echo "你赢了" else echo "计算机赢了" fi ;; 2) if [ $comp -eq 2 ]; then echo "平局" elif [ $comp -eq 0 ]; then echo "你赢了" else echo "计算机赢了" fi ;; *) if [ $choice -gt 2 ]; then echo "输入无效,请输入0、1或2" fi esac
Nginx启动脚本
Te()函数通常用于在脚本中执行某个动作,并根据其返回的状态来决定下一步的操作。这种模式常用于自动化脚本中,特别是在需要根据前一步骤的成功与否来决定后续步骤的情况下
Te()函数在Shell脚本中的具体作用取决于它在脚本中的上下文。一般来说,它可能是一个自定义的函数,用于执行特定的命令或脚本,并通过返回的状态来影响脚本的流程。
在提供的脚本片段中,Te()函数被用在了一个nginx的管理脚本中,这个脚本用于启动、停止、重启等操作nginx服务。当执行某个操作(如启动nginx)时,脚本会调用Te()函数,该函数会检查上一条命令的退出状态(通过$?获取),如果退出状态为0(意味着上条命令成功执行),则执行/bin/true,否则执行/bin/false。这样做的目的是为了在脚本中根据命令的执行情况做出相应的逻辑判断。
脚本首先检查是否存在/etc/init.d/functions文件,如果存在,则加载该文件以获取必要的环境配置和函数定义。随后,脚本定义了一个名为Te的函数,该函数用于执行实际的Nginx管理操作,并在操作成功完成后输出相关信息。
Te函数接受一个参数$1,该参数决定了要执行的具体操作。脚本使用case语句来匹配$ 1与预期的动作,并对每个动作执行相应的命令。
jumpserver跳板机脚本
中午吃什么
[root@shell /server/scripts]$ cat zwcsm1.sh
#!/bin/bash
# 生成一个1到10之间的随机数
random_num=$((RANDOM % 10 + 1))
for shu in {1..10}
do
if [ $shu -eq $random_num ]; then
if [ $shu -eq 1 ]; then
echo “中午吃水饺…….”
elif [ $shu -eq 2 ]; then
echo “中午吃牛肉粉……”
elif [ $shu -eq 3 ]; then
echo “中午吃炒饼……”
elif [ $shu -eq 4 ]; then
echo “中午吃板面……”
elif [ $shu -eq 5 ]; then
echo “中午吃小火锅……”
elif [ $shu -eq 6 ]; then
echo “中午吃米饭……”
elif [ $shu -eq 7 ]; then
echo “中午吃包子……”
elif [ $shu -eq 8 ]; then
echo “中午吃炒面……”
elif [ $shu -eq 9 ]; then
echo “中午吃随缘……”
elif [ $shu -eq 10 ]; then
echo “减肥”
fi
break
fi
done
[root@shell /server/scripts]$ cat zwcsm2.sh
#!/bin/bash
# 生成1到10之间的随机数
shu=$((RANDOM % 10 + 1))
for ((i = 1; i <= 1; i++)); do
if [ $shu -eq 1 ]; then
echo “中午吃水饺…….”
elif [ $shu -eq 2 ]; then
echo “中午吃牛肉粉……”
elif [ $shu -eq 3 ]; then
echo “中午吃炒饼……”
elif [ $shu -eq 4 ]; then
echo “中午吃板面……”
elif [ $shu -eq 5 ]; then
echo “中午吃小火锅……”
elif [ $shu -eq 6 ]; then
echo “中午吃米饭……”
elif [ $shu -eq 7 ]; then
echo “中午吃包子……”
elif [ $shu -eq 8 ]; then
echo “中午吃炒面……”
elif [ $shu -eq 9 ]; then
echo “中午吃随缘……”
elif [ $shu -eq 10 ]; then
echo “减肥”
fi
done
[root@shell /server/scripts]$ cat zwcsm.sh
while true
do
shu=`echo $((RANDOM%10+1))`
case $shu in
1)
echo “中午吃水饺…….”
exit
;;
2)
echo “中午吃牛肉粉……”
exit
;;
3)
echo “中午吃炒饼……”
exit
;;
4)
echo “中午吃板面……”
exit
;;
5)
echo “中午吃小火锅……”
exit
;;
6)
echo “中午吃米饭……”
exit
;;
7)
echo “中午吃包子……”
exit
;;
8)
echo “中午吃炒面……”
exit
;;
9)
echo “中午吃麻辣烫……”
exit
;;
*)
echo “中午减肥”
exit
esac
done