Linux程序设计shell程序学习

news2024/11/26 23:37:32

目录

1、编写shell脚本,通过循环的形式在终端上打印出等腰梯形

2、编写一个bash脚本程序,用for循环实现将当前目录下的所有.c文件移到指定的目录下,最后在显示器上显示指定目录下的文件和目录。

3、自行编写 shell 脚本,实现从键盘读取两个浮点数,输出这两个数四则运算结果。

4、使用 shell 编写一个菜单,分别实现列出以下内容:(1)目录内容、(2)切换目录、(3)创建文件、(4)编辑文件、(5)删除文件的功能。

5、用 for 语句完成 1+1/2+1/3+1/4+….+1/n。


1、编写shell脚本,通过循环的形式在终端上打印出等腰梯形

#! /bin/bash
for ((a=1;a<=9;a++))
do
   for ((b=9;b>=$a;b--))
    do
            echo -n " "
    done
    for ((c=1;c<=$a;c++))
    do
            echo -n "*"
    done
    for ((d=2;d<=$a;d++))
    do
            echo -n "*"
    done
    for ((e=1;e<=9;e++))
    do
            echo -n "*"
    done
echo ""
done

2、编写一个bash脚本程序,用for循环实现将当前目录下的所有.c文件移到指定的目录下,最后在显示器上显示指定目录下的文件和目录。

echo -n "input:"
read dir
for i in `ls | grep -E "*\.c"`
do
mv $i $dir
done
ls -IS $dir

3、自行编写 shell 脚本,实现从键盘读取两个浮点数,输出这两个数四则运算结果。

#! /bin/bash
echo "please enter two number:"
read -p"请输入第一个数字:"  num1
read -p"请输入第一个数字:" num2
a=$(echo "scale=2;$num1+$num2" | bc)//scale表示精度
b=$(echo "scale=2;$num1-$num2" | bc)
c=$(echo "scale=2;$num1*$num2" | bc)
d=$(echo "scale=2;$num1/$num2" | bc)
echo "num1+num2=$a"
echo "num1-num2=$b"
echo "num1*num2=$c"
echo "num1/num2=$d"

4、使用 shell 编写一个菜单,分别实现列出以下内容:(1)目录内容、(2)切换目录、(3)创建文件、(4)编辑文件、(5)删除文件的功能。

#! /bin/bash
While true
do 
echo "(1)List you selected directory" 
echo "(2)Change to you selected directory" 
echo "(3)Creat a new file" echo "
(4)Edit you selected file" echo "
(5)Remove you selected file" echo "
(6)Exit Menu" 
read input 
if test $input = 6 
then
exit 0 
fi
case $input in
1)	ls;;
2)	echo -n "Enter target directory:" 
read dir 
cd $dir
;;
3)	echo -n "Enter a file name:" 
read file 
touch $file
;;
4)	echo -n "Enter a file name:" 
read file 
vi $file
;;
5)	echo -n "Enter a file name:"
 read file 
rm $file
;;
*) echo "Please selected 1\2\3\4\5\6 " ;;
esac
done

5、用 for 语句完成 1+1/2+1/3+1/4+….+1/n。

echo"please input the number"
read number
num=0.000
sum=0.000
for((i=1;i<=number;i++))
do
    num=$(echo"scale=3;1.000/$i"|bc)
    sum=$(echo"scale=3;$sum+$num"|bc)
done
echo $sum

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1186186.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux防火墙firewalld(粗糙版)

上篇是iptables的增删改查 自定义链&#xff1a; systemctl stop firewalld setenforce 0 iptables -N lmn iptables -vnL iptables -t filter -vnL 修改链名&#xff1a; iptables -E lmn ky01 iptables -t filter -vnL iptables -t filter -I ky01 -p icmp -j ACCEP…

RHCSA --- Linux命令替换

命令替换 把命令中某个子命令替换为其执行结果 $() echo "The current directory is $(pwd)." touch ./file$(date %H-%M-%S).txt 以文件创建时间并以相应格式命名文件 date 显示时间 echo "The current direct…

VueCli 自定义创建项目及配置

一、VueCli 自定义创建项目 1.安装脚手架 (已安装) npm i vue/cli -g2.创建项目 vue create hm-exp-mobile选项 Vue CLI v5.0.8 ? Please pick a preset:Default ([Vue 3] babel, eslint)Default ([Vue 2] babel, eslint) > Manually select features 选自定义手动…

12.输入一个小于1000的整数,输出平方根(不是整数,输出整数部分)

#include<stdio.h> #include<math.h>int fun(int n){int b;b pow(n,0.5);printf("%d",b);}int main(){int n;scanf("%d",&n); fun(n);return 0;}

什么是代理IP池?真实测评IP代理商的IP池是否真实?

代理池充当多个代理服务器的存储库&#xff0c;提供在线安全和匿名层。代理池允许用户抓取数据、访问受限制的内容以及执行其他在线任务&#xff0c;而无需担心被检测或阻止的风险。代理池为各种在线活动&#xff08;例如网页抓取、安全浏览等&#xff09;提高后勤保障。 读完…

毫米波雷达在环境监测中的应用:气象学和气候研究的前沿技术

随着气候变化和环境问题的日益突出&#xff0c;科学家们正在寻找更先进的技术来监测大气和气候变化。毫米波雷达技术正崭露头角&#xff0c;成为气象学和气候研究领域的一项重要工具。本文将探讨毫米波雷达在环境监测中的应用&#xff0c;特别聚焦于其在气象学和气候研究方面的…

Spring Cloud LoadBalancer 负载均衡策略与缓存机制

目录 1. 什么是 LoadBalancer &#xff1f; 2. 负载均衡策略的分类 2.1 常见的负载均衡策略 3. 为什么要学习 Spring Cloud Balancer &#xff1f; 4. Spring Cloud LoadBalancer 内置的两种负载均衡策略 4.1 轮询负载均衡策略&#xff08;默认的&#xff09; 4.2 随机负…

Crypto(9)[MRCTF2020]keyboard

下载题目&#xff0c;看看里面是什么 这是什么鬼&#xff0c;由题目可以获得线索&#xff0c;keyboard,不是键盘吗&#xff0c;然后看了看别人写的wp&#xff0c;发现是九键&#xff0c;有几个数字对应的密文就是第几个字母 比如第一个6&#xff0c;对应的字母是mno&#xff0c…

R数据分析:净重新分类(NRI)和综合判别改善(IDI)指数的理解

对于分类预测模型的表现评估我们最常见的指标就是ROC曲线&#xff0c;报告AUC。比如有两个模型&#xff0c;我们去比较下两个模型AUC的大小&#xff0c;进而得出两个模型表现的优劣。这个是我们常规的做法&#xff0c;如果我们的研究关注点放在“在原模型新引入一个预测变量&am…

基于自然语言处理的结构化数据库问答机器人系统

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 1. 项目简介 知识库&#xff0c;就是人们总结出的一些历史知识的集合&#xff0c;存储、索引以后&#xff0c;可以被方便的检索出来供后人查询/学习。QnA Maker是用于建立知识库的工具&#xff0c;使用…

vue项目的环境准备与创建详情

如何搭建一个vue项目 一、环境准备 1、安装node.js 下载地址&#xff1a;https://nodejs.org/zh-cn/界面展示 2、检查node.js版本 查看版本的两种方式 1|node -v 2|node -version出现版本号则说明安装成功&#xff08;最新的以官网为准&#xff09; 3、为了提高我们的…

Vite创建React项目,另外一种更加简单的方法

在上一篇blog中一个一个安装依赖dependencies&#xff0c;有没有一步到位的方法呢&#xff0c;有! 参考《React 18 Design Patterns and Best Practices Design, build, and deploy production-ready web applications with React》4th 第一章倒数第二节Vite as a solution有个…

docker形式简易部署kibana

文章目录 前言一、简易部署1.获取镜像2.启动应用4.访问页面5.总结 前言 记录下使用docker部署kibana服务的过程 一、简易部署 1.获取镜像 docker pull kibana:8.8.0[rootnginx ~]# docker pull kibana:8.8.0 8.8.0: Pulling from library/kibana Digest: sha256:a23d96ae0ae…

​软考-高级-信息系统项目管理师教程 第四版【第21章-项目管理科学基础-思维导图】​

软考-高级-信息系统项目管理师教程 第四版【第21章-项目管理科学基础-思维导图】 课本里章节里所有蓝色字体的思维导图

JVM虚拟机:垃圾回收器之Serial Old(老年代)

本文重点 本文将介绍垃圾回收器在老年代中的串行回收器Serial Old。 介绍 Serial Old是Serial垃圾回收器的老年代版本&#xff0c;它同样是单线程的收集器&#xff0c;使用标记-整理算法&#xff0c;这个收集器也主要运行在Client&#xff0c;目前它主要是作为老年代的CMS收…

高德地图 web js端 出现 INVALID_USER_SCODE 10008 MD5安全码未通过验证

图片意思就是在引入 高德js和css 链接前 引入 <script type"text/javascript">window._AMapSecurityConfig {securityJsCode:您申请的安全密钥,} </script> 到这里就完美结束了

案例 | 3D可视化工具HOOPS助力SolidWorks edrawings成功引入AR/VR技术

HOOPS中文网慧都科技是HOOPS全套产品中国地区指定授权经销商&#xff0c;提供3D软件开发工具HOOPS售卖、试用、中文试用指导服务、中文技术支持。http://techsoft3d.evget.com/达索系统SolidWorks面临的挑战 达索系统SolidWorks公司开发和销售三维CAD设计软件、分析软件和产品…

关于阿里云 ACK ingress部分补充

强调&#xff1a; 本文只是作为记录,过一段时间会删除 跟唐老师学习网络 一 Nginx Ingress管理 ① 流量走向 需求&#xff1a; 应用绑定LoadBalance,会自动创建或使用SLBeip:port --> nodeport_ip:port --> service_ip:port --> pod_ip:port 支持的注解 通过…

程序员找副业有哪几个方向(纯干货)

前序 关于副业对于我自己的看法一般会先从自身的职业去拓展&#xff0c;毕竟自己所在的行业自己会更清楚有哪些资源去获取&#xff0c;那么首先我们可以先问万能的gpt我们程序员做副业有哪些实用的推荐&#xff0c;看看它怎么说的 外包网站接单&#xff1f; 每次大家提到程序…

有效降低数据库存储成本方案与实践 | 京东云技术团队

背景 随着平台的不断壮大&#xff0c;业务的不断发展&#xff0c;后端系统的数据量、存储所使用的硬件成本也逐年递增。从发展的眼光看&#xff0c;业务与系统要想健康的发展&#xff0c;成本增加的问题必须重视起来。目前业界普遍认同开源节流大方向&#xff0c;很多企业部门…