当前位置: 首页 > news >正文

Shell脚本小练习

学习了这么长时间Shell脚本,总得来一次小小的练习吧,那么请看下文!

1.用Shell写一个小计算器。

通过read命令获取用户输入的表达式,表达式的格式设定为操作数1 运算符 操作数2,例如5+3,然后利用设计的脚本输出运算结果。

要求:实现加、减、乘、除运算

#!/bin/bash
echo "请输入表达式(格式:操作数1 运算符 操作数2,例如 5 + 3):"
read expr
result=$(echo "$expr" | bc)
echo "运算结果是:$result"

输出:

  • #!/bin/bash 表示使用 Bash 解释器来运行该脚本。

  • **read expr**:读取用户输入的数学表达式,并将其存储到变量 expr 中。

  • **result=$(echo "$expr" | bc)**:将用户输入的表达式 $expr 通过管道传递给 bc 工具,计算结果并存储在 result 变量中。

  • **echo "运算结果是:$result"**:输出运算结果。

2.用Shell定义一个求n的阶乘函数

定义一个计算n的阶乘的函数(含参函数、if判断、for循环)

写一个脚本去调用在(三、封装函数)中写的求阶乘的函数,并定义一个变量n可用read交互输入,最终输出n的阶乘

结果:

#!/bin/bashecho "请输入一个数字:"
read num
echo "您输入的数字是:$num"# 计算阶乘
result=1
for i in $(seq 1 $num); 
doresult=$((result * i))
done
echo "$num 的阶乘是:$result"

输出:

  • read num:read 命令用于从标准输入读取数据,将输入的内容存储到变量 num 中。在这个脚本中,用户会输入一个数字,read 命令把它保存在 num 变量里。

  • 使用seq命令生成从1到$num的序列。用for循环进行遍历每个数字,每次循环时,会将result与当前的i相乘,逐步计算阶乘

3.拓展:

  • 写一个Shell脚本去筛选出eth0网卡的ipv4地址,并赋值一个变量输出(可以去了解grep、awk文本处理工具)

结果:

#!/bin/bash
# 获取 eth0 网卡的 IPv4 地址
ip_address=$(ifconfig eth0 | grep 'inet ' | awk '{print $2}')
# 输出结果
echo "eth0 网卡的 IPv4 地址是:$ip_address"

输出:

http://www.lryc.cn/news/494564.html

相关文章:

  • 四轮转向轮式里程计设计(python)
  • 多方法做配对样本t检验(三)
  • Vue 将推出「无虚拟DOM」版本,又是新的前端框架趋势?
  • 阿里云ECS服务器磁盘空间不足的几个文件
  • 从0开始linux(38)——线程(1)线程概念
  • Ubuntu源码安装gitlab13.7集群多前端《二》
  • 身份证OCR 识别 API 接口的发展前景
  • Spring boot之BeanDefinition介绍
  • 30分钟学会正则表达式
  • Python 自动化办公的 10 大脚本
  • Python蒙特卡罗MCMC:优化Metropolis-Hastings采样策略Fisher矩阵计算参数推断应用—模拟与真实数据...
  • 成绩排序
  • MySQL底层概述—7.优化原则及慢查询
  • R““有什么作用在C++中,举例说明
  • linux中top 命令返回数据解释
  • 深入理解二叉树及其变体:平衡二叉树、红黑树、B-树和B+树
  • C++ 编程技巧之StrongType(1)
  • 芯片测试-smith圆图
  • HTML技术深度解析:构建现代网页的基石
  • Leecode刷题C语言之判断是否可以赢得数字游戏
  • Ubuntu 关机命令
  • 数据采集中,除了IP池的IP被封,还有哪些常见问题?
  • 【Anaconda】 创建环境报错:CondaHTTPError: HTTP 000 CONNECTION FAILED for url
  • 社交电商破局之“2+1 链动模式 O2O 商城小程序源码”赋能流量困境突围
  • 【ArcGIS Pro微课1000例】0062:ArcGIS Pro3.3.1中文版安装教程(附安装包下载)
  • Linux - web服务器
  • 设计模式-适配器模式-注册器模式
  • 减速机润滑油更换的最佳周期是多久?
  • 程序执行堆栈执行模拟
  • 《Python基础》之数据加密模块hashlib的用法