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/72104/

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

(0)

大家都在看

  • 内网渗透测试:利用DCOM进行横向渗透——利用ExecuteShellCommand在做远程命令执行

    COM COM即组件对象模型(Component Object Model,COM) ,是基于 Windows 平台的一套组件对象接口标准,由一组构造规范和组件对象库组成。COM是…

    Linux 2022年9月14日
    095
  • Qt 访问网络

    一、前言 Qt 中访问网络使用 QNetworkAccessManager,它的 API 是异步的,这样在访问网络的时候不需要启动一个线程,在线程里执行请求的代码。(但这一点在有时…

    Linux 2022年8月24日
    0172
  • 目录遍历漏洞

    一.目录遍历漏洞原理目录遍历(路径遍历)是由于Web服务器或者Web应用程序对用户输入的文件名称的安全性验证不足而导致的一种安全漏洞,使得攻击者通过利用一些特殊字符就可以绕过服务器…

    Linux 2022年11月7日
    094
  • Ubuntu 16 安装ElasticSearch

    首先安装Java,参见博客:http://www.cnblogs.com/1zhk/p/6056406.html 下载ElasticSearch安装包 curl -L -O htt…

    Linux 2022年8月26日
    0144
  • powershell 编写的tui界面脚本《电壳别名宝》

    中文名: 《电壳别名宝》 English name: 《Power Alias》 powershell 编写的tui界面脚本。 用途:保存容易记住的别名(支持中文),保存linux…

    Linux 2022年9月10日
    0147
  • Git 修改远端仓库地址

    方法有三种:1.修改命令git remote set-url origin [url] 例如:git remote set-url origin gitlab@gitlab.chu…

    Linux 2022年8月30日
    0175
  • git在分支上创建目录和文件

    创建一个空目录,在其中初始化git git init 创建一个新文件,此时默认在master分支上 touch file1.txt add到staging area git add…

    Linux 2022年8月30日
    0153
  • Linux 配置Maven(避免踩坑篇)

    前言:请各大网友尊重本人原创知识分享,谨记本人博客: 南国以南i 二、下载好的maven安装包放在磁盘的 /usr/local/ 目录下,如下图: 三、解压该压缩文件 tar -z…

    Linux 2022年9月10日
    0149
  • linux下vi或vim操作Found a swap file by the name的原因及解决方法

    在linux下用vi或vim打开Test.java文件时 [root@localhost tmp]# vi Test.java出现了如下信息: E325: ATTENTIONFou…

    Linux 2022年8月24日
    0175
  • 前后端分离项目中VUE前端项目比较合适的.gitignore文件

    一、说明 前后端分离项目中VUE前端项目比较合适的.gitignore文件参考。 二、内容 # Created by https://www.gitignore.io/api/no…

    Linux 2022年8月30日
    0151
  • linux 使用fdisk分区扩容

    转 http://www.cnblogs.com/chenmh/p/5096592.htm l 概述 我们管理的服务器可能会随着业务量的不断增长造成磁盘空间不足的情况,在这个时候我…

    Linux 2022年8月26日
    0189
  • 非常实用的 Shell 脚本

    检测两台服务器指定目录下的文件一致性 #!/bin/bash<br>#####################################<br>#&a…

    Linux 2022年9月14日
    091
  • .NET Framework 4.0/4.5离线版下载

    有些Windows系统版本太老缺少相应的.NET版本,需要单独安装,或者需要离线安装。 /*********************************************…

    Linux 2022年8月30日
    0167
  • git使用过程中遇到的问题

    git log –pretty=oneline 文件名 使用git show即可显示具体的某次的改动的修改 解决方案 在cygwin中,使用git add添加要提交的文…

    Linux 2022年8月30日
    0161
  • linux 命令 df -h 查不到新添加的硬盘

    云平台:腾讯云系统:ubuntu 20.04 第一部分:缘由 1、我的一台云服务器上挂载了两块硬盘。一块 50G 系统盘、一块 400G 数据盘。然后我查询目前在 Linux 系统…

    Linux 2022年9月10日
    0190
  • git常用命令

    二、创建GIT版本库 1、创建一个空的目录 $mkdir gittest 进入目录 cd gittest 2、初始化仓库 git init 3、将文件添加到仓库: git add …

    Linux 2022年8月30日
    0151
最近整理资源【免费获取】:   👉 程序员最新必读书单  | 👏 互联网各方向面试题下载 | ✌️计算机核心资源汇总