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)

大家都在看

  • UWP graphql-dotnet新版数据查询客户端的实现

    之前写过一篇文章 UWP GraphQL数据查询客户端的实现,这次的标题基本差不多,只不过微软这个graphql-dotnet repo从1.x升级到了3.x,跨度有点大。 如果你…

    Linux 2023年6月13日
    090
  • ubuntu 20.04.1 安装 PHP+Nginx

    ubuntu 20.04.1 安装 PHP+Nginx 全流程 ubuntu 20.04.1 安装 PHP+Nginx 更新源 sudo apt-get update 安装环境包 …

    Linux 2023年6月7日
    0135
  • SA算法:从MTSP问题出发

    之前我在这篇博文中介绍了解决MTSP问题的相关思路,并附上了GitHub上的相关源码。在这篇文章中,我将详细介绍如何使用SA智能优化算法进行编程 1. SA算法的核心思路: SA(…

    Linux 2023年6月14日
    0105
  • MacOS 使用 siri 控制QQ音乐

    最近发现,macos 可以使用 hi siri 来进行呼出siri了,但是尝试使用QQ音乐播放音乐时,总是不能很好地播放音乐,只能调用本地的音乐app; 考虑我是最新的M1 Pro…

    Linux 2023年6月14日
    0290
  • ThinkPHP 使用 think-queue 实现 redis 消息队列

    简单介绍:消息队列中间件是大型系统中的重要组件,已经逐渐成为企业系统内部通信的核心手段。它具有松耦合、异步消息、流量削峰、可靠投递、广播、流量控制、最终一致性等一系列功能,已经成为…

    Linux 2023年5月28日
    099
  • Redis安装(CentOS 8.5 64位)

    Redis安装 1. 准备工作 1.1 下载安装包 官网下载地址:https://redis.io/ 1.2 传输文件到服务器 使用ssh工具连接到服务器,把下载好的文件上传到服务…

    Linux 2023年6月14日
    097
  • shell脚本执行错误:#!/bin/bash: No such file or directory

    1、问题描述: 执行.sh脚本时控制台报错 : #!/bin/bash: No such file or directory 2、解决办法: cat -A 文件路径 会发现第一行有…

    Linux 2023年5月28日
    0257
  • Docker Compose

    https://m.runoob.com/docker/docker-compose.html https://www.cnblogs.com/minseo/p/11548177….

    Linux 2023年6月13日
    0101
  • GFS-Google 文件系统

    GFS分布式文件系统 简介 GFS是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,并提供容错功能。它可以给大量的用户提供总体…

    Linux 2023年6月13日
    094
  • Java基础系列–01_基础类型

    J2SE、J2ME、J2EE分别指什么?J2SE 基础版,桌面应用。J2ME 微型版,手机开发。(android,ios)J2EE 企业版,所有浏览器访问的应用程序。注意:JDK5…

    Linux 2023年6月7日
    0102
  • JavaScript快速入门-06-函数

    6 函数 6.1 函数定义 函数可以封装语句,然后在任何地方、任何时间执行。JavaScript中的函数使用 function关键字声明,主要由 函数名、 函数参数和 函数体组成。…

    Linux 2023年6月7日
    0108
  • 剑指offer计划23( 数学简单)—java

    1.1、题目1 剑指 Offer 39. 数组中出现次数超过一半的数字 1.2、解法 万能哈希表,数学方法看到我要吐血。。。 1.3、代码 class Solution { pub…

    Linux 2023年6月11日
    0104
  • 同城双活-流量分流

    引言 现阶段,在同城带宽时延问题没有经过大规模的生产实践、验证的情况下,我们只导入”白名单或1%”的小比例请求流量,进入双活环境,确保环境有效的(活的),同…

    Linux 2023年6月14日
    0102
  • Linux(Deepin)Qt引用ffmpeg的问题(: error: cannot find -l…)

    Linux(Deepin)Qt引用ffmpeg的问题 1、环境介绍 Deepin 20.4 Qt 5.15.1 2、问题描述 从git上找了一个项目打算在Linux练习,顺便熟悉L…

    Linux 2023年6月14日
    0109
  • Bash shell

    例一: 函数、返回状态值、比较 #!/bin/bash NUM=$(date +%S) echo "当前苹果价格是每斤$NUM元" echo "===…

    Linux 2023年5月28日
    088
  • Linux01:常用的基本命令及概述及环境搭建(狂神说)

    Linux学习 一、入门概述 我们为什么要学Linux Linux诞生了这么多年,以前还喊着如何能取代windows系统,现在这个口号已经小多了,任何事物发展都有其局限性都有其天花…

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