linux学习之shell脚本

【实验目的】‍

‌ 通过本实验练习,使学生了解常用SHELL的编程特点,掌握SHELL 程序设计的基础知识。对SHELL程序流程控制、SHELL程序的运行方式、bash程序的调试方法及bash的常用内部命令有进一步的认识和理解。

‌【实验内容】

‌ 编写shell脚本,包含以下功能:

‌1、输出系统基本信息,系统运行时自动获取相关值并代替*:

‌USER:* HOST: DATE:*月

‌2、创建以下菜单,并完成菜单相应功能:

‌A: 创建子目录并复制文件(在/tmp下创建子目录t,并将/proc/cpuinfo文件拷贝进去)

‌B: 文件权限测试(测试对/proc/cpuinfo是否有r、w、x的权限,分别输出测试结果)

‌C: 文件字符转换(将/proc/cpuinfo文件中的小写字符转换为大写并输出)

‌D: 子目录总数统计(统计自己主目录下字目录的数量并输出)

‌E: 文本文件行数统计(统计/proc/cpuinfo文件中空行的行数并输出)

‌Q: 退出系统

‌请输入您的选择:

( 10分 )

‌【实验目的】

‌ 通过本实验练习,使学生了解常用SHELL的编程特点,掌握SHELL 程序设计的基础知识。对SHELL程序流程控制、SHELL程序的运行方式、bash程序的调试方法及bash的常用内部命令有进一步的认识和理解。

‌【实验内容】

‌ 编写shell脚本,包含以下功能:

‌1、输出系统基本信息,系统运行时自动获取相关值并代替*:

‌USER:* HOST: DATE:*月

‌2、创建以下菜单,并完成菜单相应功能:

‌A: 创建子目录并复制文件(在/tmp下创建子目录t,并将/proc/cpuinfo文件拷贝进去)

‌B: 文件权限测试(测试对/proc/cpuinfo是否有r、w、x的权限,分别输出测试结果)

‌C: 文件字符转换(将/proc/cpuinfo文件中的小写字符转换为大写并输出)

‌D: 子目录总数统计(统计自己主目录下字目录的数量并输出)

‌E: 文本文件行数统计(统计/proc/cpuinfo文件中空行的行数并输出)

‌Q: 退出系统

‌请输入您的选择:

‍‌3、运行脚本,测试每一个菜单功能

Original: https://www.cnblogs.com/linlinmailbox/p/16013832.html
Author: 霖霖的信箱
Title: linux学习之shell脚本

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/524000/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Centos7下载及安装

    Centos7下载及安装 1.下载虚拟机 虚拟机下载地址: https://www.vmware.com 或者 360一键安装(推荐) 2.在虚拟机上安装Centos7 2.1.通…

    Linux 2023年5月27日
    083
  • jedisLock—redis分布式锁实现

    一、使用分布式锁要满足的几个条件: 系统是一个分布式系统(关键是分布式,单机的可以使用ReentrantLock或者synchronized代码块来实现) 共享资源(各个系统访问同…

    Linux 2023年5月28日
    086
  • PHP PDF转图片

    Windows环境下 一、开启 Imagick 扩展 1、安装PHP扩展:Imagick,下载地址 https://pecl.php.net/package/imagick 注意和…

    Linux 2023年6月7日
    092
  • phpcms v9全站点击量排行代码

    前台: {pc:content action=”sitehits” siteid=”1″ num=”10″ …

    Linux 2023年6月13日
    068
  • 剑指offer计划27(栈与队列困难)—java

    1.1、题目1 剑指 Offer 59 – I. 滑动窗口的最大值 1.2、解法 解题思路:(来自作者bigbeats) 相当于维护一个最大队列(队头元素最大,向队尾非…

    Linux 2023年6月11日
    077
  • Linux Netlink学习笔记

    Netlink是用户程序与内核通信的socket方法,通过Netlink可以获得修改内核的配置,常见的有获得接口的IP地址列表、更改路由表或邻居表。旧版本的内核提供很多从内核获取信…

    Linux 2023年6月6日
    0104
  • CentOS7下安装mysql8.0.25

    一、mysql的rpm包准备 官网下载完整rpm包 解压后有多个rpm包, 挑选如下图的5个rpm包上传至linux 二、使用rpm -ivh安装rpm包 按如下安装顺序依次安装 …

    Linux 2023年6月6日
    0121
  • Shell添加任务计划

    添加任务计划,每30分钟自动执行 /data1/scripts/chk_sds.sh mkdir /data1/scripts echo -e "if [ \ps -C …

    Linux 2023年5月28日
    069
  • 不要使用短路逻辑编写 stl sorter 多条件比较

    最近工期紧、任务多,没有时间更新博客,就水一期吧。虽然是水,也不能太水,刚好最近工作中遇到一个 sorter 多条件排序的问题,花费了半天时间来定位解决,就说说它吧。 公司产品是一…

    Linux 2023年6月6日
    088
  • 软件基础的理论(1)

    软件基础的理论 一, 什么是软件产品 它是一个逻辑产品,没有实体,包括程序,文档和数据,需要通过终端设备才能体现出来功能和作用 二, 软件产品的中间过程文档 客户需求 &#…

    Linux 2023年6月7日
    078
  • dotnet-cnblogs-tool使用与坑

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月6日
    072
  • redis集群部署

    Redis 是一个开源的 key-value 存储系统,由于出众的性能,大部分互联网企业都用来做服务器端缓存。Redis 在3.0版本前只支持单实例模式,虽然支持主从模式、哨兵模式…

    Linux 2023年6月7日
    083
  • Densite_RANK 函数

    densite_RANK()是一个窗口函数,它为分区或结果集中的每一行分配一个等级,等级值之间没有间隔。 行的秩从行之前的不同秩值的数量增加1。 首先,PARTITION BY子句…

    Linux 2023年6月7日
    090
  • Linux通过ssh命令连接远程服务器

    命令使用语法:1,指定用户:ssh -l root 192.168.0.11或则ssh root@192.168.0.11 2,如果修改过ssh登录端口的可以:ssh -p 123…

    Linux 2023年6月13日
    066
  • JDK8以上提高开发效率

    1 接口的默认方法和静态方法 1.1 接口中可以定义默认方法和静态方法。 默认方法使用default修饰,静态方法和默认方法可以多个; 静态方法通过接口直接调用,默认方法通过接口实…

    Linux 2023年6月13日
    088
  • Linux 常用目录管理命令

    cp:复制文件或目录,直接复制,如,cp /root/install.sh /home cp -a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用),如 cp -a…

    Linux 2023年6月14日
    092
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球