【Linux实践】实验八:Shell程序的创建及变量

news2024/12/23 0:54:15

文章目录

      • 实验八:Shell程序的创建及变量
        • 实验目的:
        • 实验内容:
        • 操作步骤:
          • 1. 查看环境变量
          • 2. 定义变量AK
          • 3. 定义变量AM并比较
          • 4. 创建Shell程序


实验八:Shell程序的创建及变量

实验目的:
  1. 掌握Shell程序的创建过程及Shell程序的执行方法。
  2. 掌握Shell变量的定义方法,及用户定义变量、参数位置等。
  3. 掌握变量表达式,包括字符串比较、数字比较、逻辑测试、文件测试。
实验内容:
  1. 查看当前系统下用户Shell定义的环境变量的值。
  2. 定义变量AK的值为200,并将其显示在屏幕上。
  3. 定义变量AM的值为100,并使用test命令比较其值是否大于150。
  4. 创建一个简单的Shell程序,其功能为显示计算机主机名以及显示系统日期和时间,并执行该程序。
操作步骤:
1. 查看环境变量
env

在这里插入图片描述

描述: 这个命令会列出当前用户的所有环境变量。

2. 定义变量AK
AK=200
echo $AK

在这里插入图片描述

描述:

  • AK=200: 这行命令定义了一个名为AK的变量,并赋值为200。
  • echo $AK: 这行命令用于在屏幕上显示变量AK的值。
3. 定义变量AM并比较
AM=100
if [ $AM -gt 150 ]; then
    echo "AM的值大于150。"
else
    echo "AM的值不大于150。"
fi

在这里插入图片描述

描述:

  • AM=100: 定义了一个名为AM的变量,并赋值为100。
  • if [ $AM -gt 150 ]: 使用test命令来检查AM的值是否大于150。
  • echo "AM的值大于150。": 如果条件为真,则打印这个消息。
  • echo "AM的值不大于150。": 如果条件为假,则打印这个消息。
4. 创建Shell程序
#!/bin/bash
# 这是一个Shell程序,用于显示计算机的主机名和当前日期时间

# 显示主机名
echo "主机名: $(hostname)"

# 显示系统日期和时间
echo "日期和时间: $(date)"

在这里插入图片描述

描述:

  • #!/bin/bash: 这是一个称为shebang的特殊构造,告诉系统这个脚本是用bash shell执行的。
  • echo "主机名: $(hostname)": 显示当前计算机的主机名。
  • echo "日期和时间: $(date)": 显示当前的日期和时间。

保存为info_display.sh,然后执行:

chmod +x info_display.sh
./info_display.sh

描述:

  • chmod +x info_display.sh: 这个命令给予脚本文件执行权限。
  • ./info_display.sh: 执行脚本。
命令描述
env显示所有环境变量
AK=200定义变量AK并赋值为200
echo $AK显示变量AK的值
AM=100定义变量AM并赋值为100
if [ $AM -gt 150 ]; then如果AM的值大于150,则执行
echo "AM的值大于150。"显示AM大于150的信息
echo "AM的值不大于150。"显示AM不大于150的信息
chmod +x info_display.sh给予脚本执行权限
./info_display.sh执行脚本

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

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

相关文章

【C++】AVL树的底层以及实现

个人主页 文章目录 ⭐一、AVL树的概念🎉二、AVL树的性质🏝️三、AVL树的实现1. 树的基本结构2. 树的插入3. 树的旋转• 左单旋• 右单旋• 左右双旋• 右左双旋 🎡四、AVL树的其它功能1. 树的查找2. 树的遍历3. 树的高度4. 树的大小 &#x…

RK3568平台开发系列讲解(I2C篇)i2c 总线驱动介绍

🚀返回专栏总目录 文章目录 一、i2c 总线定义二、i2c 总线注册三、i2c 设备和 i2c 驱动匹配规则沉淀、分享、成长,让自己和他人都能有所收获!😄 i2c 总线驱动由芯片厂商提供,如果我们使用 ST 官方提供的 Linux 内核, i2c 总线驱动已经保存在内核中,并且默认情况下已经…

vulnhub-matrix-breakout-2-morpheus靶机的测试报告

目录 一、测试环境 1、系统环境 2、使用工具/软件 二、测试目的 三、操作过程 1、信息搜集 2、Getshell ①nc反弹shell连接 ②Webshell上传 3、提权 ①使用kali自带的poc ②使用msf进行渗透 四、结论 一、测试环境 1、系统环境 渗透机:kali2021.1(19…

项目构建工具

一般面试中被问到的项目构建工具,常常会回答的是Maven 今天大概了解了一下目前项目构建构建有Maven,Ant,Gradle Gradle 是一个构建工具,它是用来帮助我们构建app的,构建包括编译,打包等过程。我们可以为Gradle指定构建规则&…

matlab 相关

1、xcorr 本质上是两个函数做内积运算 相关算法有两种: 在Matlab上既可以 1.用自带的xcorr函数计算互相关,2.通过在频域上乘以共轭复频谱来计算互相关; 网友验证程序 clc;clear;close all; % s1,s2为样例数据 s1 [-0.00430297851562500;-…

攻防世界----->Replace

前言:做题笔记。 下载 查壳。 upx32脱壳。 32ida打开。 先运行看看: 没有任何反应? 猜测又是 地址随机化(ASLR)---遇见过。 操作参考: 攻防世界---->Windows_Reverse1_dsvduyierqxvyjrthdfrtfregreg-CSDN博客 然后…

Spring系列 Bean创建过程

文章目录 初始化时机单例初始化流程getBeandoGetBeangetSingleton(String) 获取单例getSingleton(String, ObjectFactory) 创建单例beforeSingletonCreationcreateBeanafterSingletonCreation 创建 Bean 过程doCreateBeanaddSingletonFactory createBeanInstance 创建 Bean 对象…

医院管理智能化:Spring Boot技术革新

3系统分析 3.1可行性分析 通过对本医院管理系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本医院管理系统采用JAVA作为开发语言,Spring Boot框…

ctf.bugku - game1

题目来源: game1 - Bugku CTF 访问页面,让玩游戏 得到100分,没拿到flag 查看页面源码, GET请求带有 score、IP、sign 三个参数,最后的flag 应该跟分数有关; 给了score一个99999分数, sign 为 …

STM32编码器接口

一、概述 1、Encoder Interface 编码器接口概念 编码器接口可接收增量(正交)编码器的信号,根据编码器旋转产生的正交信号脉冲,自动控制CNT自增或自减,从而指示编码器的位置、旋转方向和旋转速度每个高级定时器和通用…

如何录制微课教程?K12教育相关课程录制录屏软件推荐

在当今数字化教育的时代,微课作为一种重要的教学资源,受到了越来越多教师和学生的关注。制作一节优质的微课,录制是关键的环节之一。下面我们将结合相关知识,详细介绍如何录制微课教程。 一、微课录制前的准备 1.教学设计文档编写…

Ultralytics:YOLO11使用教程

Ultralytics:YOLO11使用教程 前言相关介绍前提条件实验环境安装环境项目地址LinuxWindows YOLO11使用教程进行目标检测进行实例分割进行姿势估计进行旋转框检测进行图像分类 参考文献 前言 由于本人水平有限,难免出现错漏,敬请批评改正。更多…

题目:圆桌会议

解题思路: 结果的顺序就是原序列的逆序,例如12345就是54321为结果顺序。同时将一个顺序序列(非环)变成逆序需要的次数为。想要的得到最短的交换次数,只需要将环尽量对半分,然后分别对两部分进行顺序序列变逆…

DAY27||回溯算法基础 | 77.组合| 216.组合总和Ⅲ | 17.电话号码的字母组合

回溯算法基础知识 一种效率不高的暴力搜索法。本质是穷举。有些问题能穷举出来就不错了。 回溯算法解决的问题有: 组合问题:N个数里面按一定规则找出k个数的集合切割问题:一个字符串按一定规则有几种切割方式子集问题:一个N个数…

SeaTunnel如何创建Socket数据同步作业?

本文为Apache SeaTunnel Socket Connector的使用文档,旨在帮助用户快速理解和有效利用Socket Connector,助力用户的应用程序实现高效、稳定的网络通信。 Socket是应用层与TCP/IP协议族之间进行通信的中间软件抽象层,它是网络编程的基础&…

视频怎么做成扫码展示?视频二维码在线做的方法

视频想要快速的分享给其他人,选择生成二维码是一种很方便的形式,其他人只需要扫描二维码就可以在线查看视频,与其他分享方式相比更加的简单、方便。现在日常生活中有很多场景都会有视频二维码的应用,简化了获取视频的流程&#xf…

typora笔记导出word格式:

Pandoc:各系统下载github链接 https://github.com/jgm/pandoc/releases/latest windows安装包 链接:https://pan.baidu.com/s/17AZNIMImbzFtWJAcAfAB0g?pwd55l2 提取码:55l2 先解压压缩包 点击 设置Pandoc路径,然后选择pa…

处理器中的几种hazard

什么是hazard? Instructions interact with each other in pipeline ; Structural Hazard 原因: An instruction in the pipeline may need a resource being used by another instruction in the pipeline ;Structural hazard occurs when two instructions nee…

Chromium 中chrome.cookies扩展接口c++实现分析

chrome.cookies 使用 chrome.cookies API 查询和修改 Cookie,并在 Cookie 发生更改时收到通知。 更多参考官网定义:chrome.cookies | API | Chrome for Developers (google.cn) 本文以加载一个清理cookies功能扩展为例 https://github.com/Google…

RHCSA的学习(4)

一、vi编辑器 (1)为什么学vi? 所有的Unix Like 系统都会内建 vi 文本编辑器,其他的文本编辑器则不一定会存在; 很多个别软件的编辑接口都会主动呼叫 vi (例如未来会谈到的 crontab, visudo, edquota 等指令)&#x…