ecs服务器shell常用脚本练习(二)

简介: 【4月更文挑战第1天】shell代码训练(二)

1. 编写脚本,实现人机<石头,剪刀,布>游戏

game=(石头 剪刀 布)

num=$[RANDOM%3]

computer=${game[$num]}

#通过随机数获取计算机的出拳

#出拳的可能性保存在一个数组中,game[0],game[1],game[2]分别是3 中不同的可能

echo "请根据下列提示选择您的出拳手势"

echo "1.石头"

echo "2.剪刀"

echo "3.布"

read ‐p "请选择1‐3:" person

case $person in

1)

if [ $num ‐eq 0 ];then

echo "平局"

elif [ $num ‐eq 1 ];then

echo "你赢"

else

echo "计算机赢"

fi;;

2)

if [ $num ‐eq 0 ];then

echo "计算机赢"

elif [ $num ‐eq 1 ];then

echo "平局"

else

echo "你赢"

fi;;

3)

if [ $num ‐eq 0 ];then

echo "你赢"

elif [ $num ‐eq 1 ];then

echo "计算机赢"

else

echo "平局"

fi;;

*)

echo "必须输入1‐3 的数字"

esac

2. 编写脚本测试192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机状态(for 版本)

#!/bin/bash

for i in {1..254}

do

ping ‐c2 ‐i0.3 ‐W1 192.168.4.$i &>/dev/null

if [ $? –eq 0 ];then

echo "192.168.4.$i is up"

else

echo "192.168.4.$i is down"

fi

done

3. 编写脚本测试192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机状态(while 版本)

#!/bin/bash

i=1

while [ $i ‐le 254 ]

do

ping ‐c2 ‐i0.3 ‐W1 192.168.4.$i &>/dev/null

if [ $? –eq 0 ];then

echo "192.168.4.$i is up"

else

echo "192.168.4.$i is down"

fi

let i++

done

4. 编写脚本测试192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机状态(多进程版)

#定义一个函数,ping 某一台主机,并检测主机的存活状态

myping(){

ping ‐c2 ‐i0.3 ‐W1 $1 &>/dev/null

if [ $? ‐eq 0 ];then

echo "$1 is up"

else

echo "$1 is down"

fi

}

for i in {1..254}

do

myping 192.168.4.$i &

done

#使用&符号,将执行的函数放入后台执行

#这样做的好处是不需要等待ping 第一台主机的回应,就可以继续并发ping 第二台主机,依次类推。

5. 编写脚本,显示进度条

#!/bin/bash

jindu(){

while :

do

echo ‐n '#'

sleep 0.2

done

}

jindu &

cp ‐a $1 $2

killall $!

echo "拷贝完成''

6. 进度条,动态时针版本

#!/bin/bash

#定义一个显示进度的函数,屏幕快速显示| / ‐ \

rotate_line(){

INTERVAL=0.1 #设置间隔时间

COUNT="0" #设置4 个形状的编号,默认编号为0(不代表任何图像)

while :

do

COUNT=`expr $COUNT + 1` #执行循环,COUNT 每次循环加1,(分别代表4 中不同的形状)

case $COUNT in #判断COUNT 的值,值不一样显示的形状就不一样

"1") #值为1 显示‐

echo ‐e '‐'"\b\c"

sleep $INTERVAL

;;

"2") #值为2 显示\\,第一个\是转义

echo ‐e '\\'"\b\c"

sleep $INTERVAL

;;

"3") #值为3 显示|

echo ‐e "|\b\c"

sleep $INTERVAL

;;

"4") #值为4 显示/

echo ‐e "/\b\c"

sleep $INTERVAL

;;

*) #值为其他时,将COUNT 重置为0

COUNT="0";;

esac

done

}

rotate_line

17. 9*9 乘法表(编写shell 脚本,打印9*9 乘法表)

#!/bin/bash

for i in `seq 9`

do

for j in `seq $i`

do

echo ‐n "$i*$j=$[i*j] "

done

echo

done

8. 使用死循环实时显示eth0 网卡发送的数据包流量

while :

do

echo '本地网卡eth0 流量信息如下: '

ifconfig eth0 | grep "RX pack" | awk '{print $5}'

ifconfig eth0 | grep "TX pack" | awk '{print $5}'

sleep 1

done

9. 使用user.txt 文件中的人员名单,在计算机中自动创建对应的账户并配置初始密码

#!/bin/bash

#本脚本执行,需要提前准备一个user.txt 文件,该文件中包含有若干用户名信息

for i in `cat user.txt`

do

useradd $i

echo "123456" | passwd ‐‐stdin $i

done

10. 编写批量修改扩展名脚本,如批量将txt 文件修改为doc 文件

#!/bin/bash

#执行脚本时,需要给脚本添加位置参数

#脚本名 txt doc(可以将txt 的扩展名修改为doc)

#脚本名 doc jpg(可以将doc 的扩展名修改为jpg)

for i in "ls *.$1"

do

mv $i ${i%.*}.$2

done

如果想上手操作练代码的同学们可以通过阿里云ecs服务器免费试用参与!

入口一:新老同学免费试用

入口二:上云第一站

入口三:学生版超低价云服务器

入口四:云服务器专享特惠版

入口五:云服务器特惠1.5折起

入口七:阿里云最新活动中心

入口八:中小企业权益满减礼包

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
存储 安全 Unix
七、Linux Shell 与脚本基础
别再一遍遍地敲重复的命令了,把它们写进Shell脚本,就能一键搞定。脚本本质上就是个存着一堆命令的文本文件,但要让它“活”起来,有几个关键点:文件开头最好用#!/usr/bin/env bash来指定解释器,并用chmod +x给它执行权限。执行时也有讲究:./script.sh是在一个新“房间”(子Shell)里跑,不影响你;而source script.sh是在当前“房间”里跑,适合用来加载环境变量和配置文件。
392 9
|
2月前
|
存储 Shell Linux
八、Linux Shell 脚本:变量与字符串
Shell脚本里的变量就像一个个贴着标签的“箱子”。装东西(赋值)时,=两边千万不能有空格。用单引号''装进去的东西会原封不动,用双引号""则会让里面的$变量先“变身”再装箱。默认箱子只能在当前“房间”(Shell进程)用,想让隔壁房间(子进程)也能看到,就得给箱子盖个export的“出口”戳。此外,Shell还自带了$?(上条命令的成绩单)和$1(别人递进来的第一个包裹)等许多特殊箱子,非常有用。
259 3
|
5月前
|
Shell
Shell脚本循环控制:shift、continue、break、exit指令
使用这些命令可以让你的Shell脚本像有生命一样动起来。正确使用它们,你的脚本就能像一场精心编排的舞蹈剧目,既有旋律的起伏,也有节奏的跳跃,最终以一场惊艳的表演结束。每一个动作、每一个转折点,都准确、优雅地完成所需要表达的逻辑。如此,你的脚本不只是冰冷的代码,它透过终端的界面,跳着有节奏的舞蹈,走进观众——使用者的心中。
241 60
|
2月前
|
数据采集 监控 Shell
无需Python:Shell脚本如何成为你的自动化爬虫引擎?
Shell脚本利用curl/wget发起请求,结合文本处理工具构建轻量级爬虫,支持并行加速、定时任务、增量抓取及分布式部署。通过随机UA、异常重试等优化提升稳定性,适用于日志监控、价格追踪等场景。相比Python,具备启动快、资源占用低的优势,适合嵌入式或老旧服务器环境,复杂任务可结合Python实现混合编程。
|
4月前
|
Web App开发 缓存 安全
Linux一键清理系统垃圾:释放30GB空间的Shell脚本实战​
这篇博客介绍了一个实用的Linux系统盘清理脚本,主要功能包括: 安全权限检查和旧内核清理,保留当前使用内核 7天以上日志文件清理和系统日志压缩 浏览器缓存(Chrome/Firefox)、APT缓存、临时文件清理 智能清理Snap旧版本和Docker无用数据 提供磁盘空间使用前后对比和大文件查找功能 脚本采用交互式设计确保安全性,适合定期维护开发环境、服务器和个人电脑。文章详细解析了脚本的关键功能代码,并给出了使用建议。完整脚本已开源,用户可根据需求自定义调整清理策略。
471 1
|
6月前
|
存储 Unix Shell
确定Shell脚本在操作系统中的具体位置方法。
这对于掌握Linux的文件系统组织结构和路径方面的理解很有帮助,是我们日常工作和学习中都可能使用到的知识。以上讲解详细清晰,应用简便,是每一个想要精通操作系统的计算机爱好者必备的实用技能。
161 17
|
6月前
|
Linux Shell
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
181 4
|
6月前
|
Linux Shell 数据安全/隐私保护
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
367 3
|
7月前
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
592 25
|
7月前
|
安全 Linux
阿里云linux服务器使用脚本通过安全组屏蔽异常海外访问ip
公网网站可能会遭受黑客攻击导致访问异常,使用此脚本可以屏蔽掉异常IP 恢复访问。也可自行设置定时任务定期检测屏蔽。
566 28

热门文章

最新文章