实验四、shell编程

这篇具有很好参考价值的文章主要介绍了实验四、shell编程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、实验目的

1.了解shell的特点和主要种类。
2.掌握 shel1 脚本的建立和执行方式。
3.掌握bash的基本语法。
4.学会编写shell 脚本。

二、实验内容

  1. shell 脚本的建立和执行。
  2. 历史命令和别名定义。
  3. shell变量和位置参数、环境变量。
  4. bash的特殊字符。
  5. 一般控制结构。
  6. 算术运算及bash 函数。

三、主要实验步骤

  1. 利用 vi建立一个脚本文件,其中包括 date、cal、pwd、 ls等常用命令;然后以不同方式执行该脚本。
    创建脚本文件: 实验四、shell编程
    实验四、shell编程
    以不同的方式执行脚本:

    1. 输入定向到shell脚本
      实验四、shell编程

      shell从example中读取命令行,并执行他们。当shell到达文件末尾时,终止执行,并把控制返回到shell命令状态

    2. 以脚本名作为bash参数
      实验四、shell编程
      执行过程与第一种方式相同,但这一种方式能在脚本名后面带参数,从而将参数值传递给程序中的命令,使一个shell脚本可以处理多种情况,就如同函数的调用,可以根据问题给定相应的实参

    3. 将shell脚本的权限设置为可执行,然后在提示符下直接执行
      首先将文本编辑器建立的shell脚本设置为有执行权限
      实验四、shell编程
      然后将该脚本所在的目录添加到命令搜索路径(PATH)中
      实验四、shell编程
      然后就可以在提示符后输入脚本名example就可以直接执行该文件
      实验四、shell编程

  2. 运行history命令,配置历史命令环境。
    显示历史命令清单:
    实验四、shell编程
    配置历史命令环境:

    • 通过重新为环境变量HISTFILE赋值来改变存放历史命令的文件
      实验四、shell编程
    • 利用HISTSIZE变量重新设定历史文件中能够保留的命令的个数限定
      实验四、shell编程
  3. 体会 bash的命令补齐功能。
    在命令行上输入部分目录名称或文件名并按下Tap键后,可能出现下述情况:

    • 若系统可以唯一确定是哪个目录或文件,则自动补全相应的名称。按Enter键执行该命令
    • 若Linux找到了不止一个文件名,则会把文件名补全到这些文件名中相同的部分的最后一个字符
    • 若shell根据已输入的字符不能唯一确定相应的名称,则会尽量补齐后面的字符,然后响铃提示,要求用户进一步输入名字中后面的字符

    如果输入过程中不知道后面的字符,系统也无法唯一确定名称,则可以先按Esc键,然后按?键,或者连续按两次Tab键,shell会列出当前目录下所有可以匹配已输入字符的文件或者给出可以匹配已输入字符的命令
    实验四、shell编程

  4. 用alias定义别名, 然后执行。

    定义别名:实验四、shell编程
    定义变量my并赋值,然后执行 实验四、shell编程

  5. 对习题4.8中的shell 脚本进行编辑,然后执行。
    新建脚本example2,并输入如下内容,然后保存退出
    实验四、shell编程
    然后执行该脚本
    实验四、shell编程
    由此可见该脚本的功能是换行

  6. 按习题4.14要求编写脚本,然后执行。
    求斐波那契数列的前10项及总和
    实验四、shell编程
    实验四、shell编程

  7. 按习题4.18要求编写脚本,然后执行。
    设计一个程序cuts,由标准输入读取数据,获取由第一个参数n和第二个参数m所限定范围的数据,n和m都是整数,即从输入的字符串中抽取第n个字符至第m个字符之间的所有字符(包含这两个字符)
    实验四、shell编程
    实验四、shell编程

  8. 运行例 4.20的程序。若取消其中的“eval",则会出现什么情况?
    实验四、shell编程
    实验四、shell编程
    取消其中的eval后:
    实验四、shell编程
    实验四、shell编程文章来源地址https://www.toymoban.com/news/detail-476935.html

到了这里,关于实验四、shell编程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python 面向对象编程的特点 - 封装 - 继承(经典类、新式类) - 多态 - 静态方法、类方法 - 下划线的使用 - 回合制攻击游戏实验

    目录 面向对象编程的特点: 封装:封装是将数据和操作(方法)封装在一个对象中的能力 继承:继承是指一个类(子类)可以继承另一个类(父类)的属性和方法。 我们为什么需要继承呢? 父类/基类 = ATM 子类/派生类= ChinaATM/ICBCATM ATM系统父类子类讲解代码: 经典类和新式

    2024年02月15日
    浏览(49)
  • 【Amazon】云上探索实验室—了解 AI 编程助手 Amazon Codewhisperer

    用技术实验、产品体验、案例应用等方式,亲身感受最新、最热门的亚马逊云科技开发者工具与服务。发挥您的想象和创造,以文章、视频、代码 Demo 等形式分享见解。您的分享可以帮助到更多开发者进行学习与开发,为技术实践提供更多的可能性。 云上探索实验室开展至今

    2024年02月04日
    浏览(58)
  • 学习编程的目的

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 一名广东专升本的学生,目前正在努力学习计算机相关知识,以前有学过一段时间的C语言,总是听别人说C很难很难让我也对这门编程语言充满了畏惧,直到升本的时候需要考C然后认真的去学习之后,发

    2024年02月08日
    浏览(29)
  • 云计算虚拟化技术与开发-------虚拟化技术应用第一章内容(虚拟化技术概念、虚拟化特征、虚拟化目的、半虚拟化和全虚拟化特点和区别、虚拟化实现的三种结构的特点和区别)

    目录 虚拟化技术第一章主要内容 虚拟化技术的概念: 虚拟化的特征:         虚拟化的目的: 虚拟化与云计算的关系: 半虚拟化和全虚拟化的特点和区别:  虚拟化实现的三种结构的特点和区别:         虚拟化(Virtualization)是把物理资源转变为逻辑上可以管理

    2024年02月03日
    浏览(55)
  • 你所不了解的静态路由特点及配置分析

     许多读者朋友错误地认为静态路由很简单,就一个命令,没什么好学的。其实这是因为他们根本没有深入理解静态路由的工作原理,对于仅有一条静态路由配置命令中的各参数和选项的含义和使用方法也是一知半解,结果造成的是遇到一些静态路由故障时无法进行分析,而

    2024年02月06日
    浏览(35)
  • 网络原理,了解xml, json,protobuffer的特点

    目录 一、 👦 外卖服务器场景 外面服务器沟通有很多模式——展示商家列表等等,只是其中一个,因此需要一个统一的规划了——不同应用程序,里面的自定义格式是不一样的,这样的设计十分灵活,最好要有一个统一的标准, 显示商家列表,有很多项,每一项包含了一些

    2024年02月09日
    浏览(100)
  • 了解ActiveMQ、RabbitMQ、RocketMQ和Kafka的特点

    ActiveMQ是一种基于JMS(Java消息服务)规范的消息中间件,由Apache基金会开发和维护 核心组件和特点: Broker(代理):ActiveMQ的核心组件是Broker,它负责接收、存储和路由消息,可以配置为单个实例或者集群,提供高可用性和可扩展性。 Producer(生产者)和Consumer(消费者):

    2024年02月07日
    浏览(42)
  • 了解VR虚拟现实的沉浸式效果及其技术特点!

    VR虚拟现实体验装置作为近年来人气火爆的科技产品,以其独特的沉浸式体验效果吸引了众多用户,那么,你知道这种 VR体验装置 是如何实现沉浸式体验效果的吗?它又具备了哪些技术特点呢? 一、 真实 的场景体验 VR 虚拟现实技术通过 三维建模技术和实时交互技术 , 精确

    2024年02月02日
    浏览(50)
  • 黑马程序员带你快速了解区块链六大特点

    区块链上数据的验证、记账、存储、维护和传输等均是基于分布式结构,采用数学和算法的方法而不是中心机构来构建分布式节点之间的信任关系,从而形成非中心化的、可信任的分布式结构。交易参与者可以自证并直接交易,不需要依赖第三方中介机构的信任背书。 不可篡

    2024年03月25日
    浏览(53)
  • 深入了解Webpack:特性、特点和结合JS混淆加密的实例

    1. 模块化管理 Webpack支持将项目拆分为多个模块,允许开发者以模块化的方式组织代码。每个模块都有自己的依赖关系,Webpack能够自动解析这些依赖,从而构建出一个整体的资源文件。 2. 加载器和插件 Webpack使用加载器(Loaders)处理不同类型的文件,如JavaScript、CSS、图片等

    2024年02月11日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包