Linux实验三:shell程序设计: shell基础

实验目的:

进一步巩固shell程序设计语言基本语法,加深对所学知识理解。

实验要求

1. 四种变量的使用

2. 配置环境变量

3. 元字符和正则表达式

4. 引号

1. 本地变量

$ var1="hello Linux" //定义本地变量var1

$ read var2          //定义本地变量vae2

$ echo $var1  $var2  //显示本地变量的值

2. 环境变量

$ env //显示系统的环境变量

$ echo $PATH  //显示搜索路径变量PATH

$ MYNAME="zhangs"  //定义本地变量MYNAME

$ export MYNAME //将本地变量MYNAME输出为环境变量

下面观察环境变量与本地变量作用范围的区别

$ echo  $var1   $MYNAME  //显示本地变量和环境变量

$ bash //创建子进程bash

$ echo $var1  $MYNAME //显示本地变量和环境变量

$ exit //退出子进程bash

$ echo $var1  $MYNAME

通过修改环境变量PS1可修改提示符

$ PS1=$   //将提示符变为$

3. 位置变量

使用编辑器vi编辑下列shell脚本

#!/bin/bash

echo $0 $1 $2 $3

将上述两行脚本保存为文件locat.sh

$ chmod +x locat.sh //增加执行权限

$ ./locat.sh  you me he

观察显示结果,理解位置变量的定义

4. 预定义变量

用编辑器vi编辑以下shell脚本

#!/bin/bash

echo  $#

echo  $*

将上述三行保存为文件predef.sh

$chmod +x predef.sh //增加执行权限

$ ./predef.sh Linux Unix Windows

观察运行结果,理解预定义变量的含义

5. 配置环境变量

可通过用户主目录下的配置文件,改变系统的启动参数,例如:可通过修改.bash_profile修改环境变量PATH,具体操作如下:

$ cd ~  //进入用户的主目录

$ vi .bash_profile //编辑配置文件

若文件中有下列行:

PATH= $PATH;$HOME/bin

则在PATH路径中增加当前路径,修改后外:

PATH= $PATH;$HOME/bin:.

$ exit //退出

用该用户的账号重新登录系统

执行当前目录下的locat.sh脚本无需制定当前路径,例如:

$ locat.sh  myname is zhangs

///-------------------------------------------------------------------

logout退出当前用户,乌班图在当前用户的主目录下修改环境变量

似乎没有bash_profile文件。

///-------------------------------------------------------------------

6.元字符与正则表达式

$ cd ~  //进入用户主目录

# ls -l  / >list  //以详细方式列出根目录下的所有文件信息,重定向至list文件

$ grep ^d  list     // 查询所有目录

$ ls *.sh  //列出所有后缀名为.sh的shell脚本文件

6. 反引号、单引号和双引号

$ abc="pwd"

$ echo '$abc'  //只显示单引号内的字符串

$ echo "$abc"  //显示变量的值

$ echo `"$abc"`  //"和`的综合使用

$ echo "`pwd`"  //为"内的`作出解释

$ echo *

$ echo "*"    //屏蔽元字符的特定含义

注:双引号的命令替换是:将双引号内一对反引号中的命令替换为该命令运行的结果。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

React基础入门

文章目录 创建项目组件和事件更新状态导出组件jsx react是目前最流行的前端框架,几乎也不同太介绍了。 创建项目 首先下载node.js,安装成功后,最好换成国内的源 npm config set registry https://registry.npm.taobao.org然后就可以使用脚…

Ubuntu20.04清理垃圾vscode缓存

使用VM虚拟机安装了Ubuntu系统,主目录空间越来越小,硬盘扩容之后很快又空间不足,甚至出现了开机卡黑屏的情况,这里记录一下解决过程。 1 重新开机进入系统 状态:卡到了开机黑屏状态,左上角有一条小横杠 原…

Charles 网络抓包工具详解与实战指南

文章目录 导读软件版本Charles基本原理核心功能下载及安装界面介绍网络包展示 常用场景介绍PC 端网络抓包移动端网络抓包PC 端配置手机端配置 开启 SSL 代理PC 端和移动端 CA 证书安装Charles 直接安装Charles 下载 CA 文件手动安装 常用操作请求重发请求改写、动态改写断点&am…

常用服务注册中心与发现(Eurake、zookeeper、Nacos)笔记(一)基础概念

基础概念 注册中心 在服务治理框架中,通常都会构建一个注册中心,每个服务单元向注册中心登记自己提供的服务,将主机与端口号、版本号、通信协议等一些附加信息告知注册中心,注册中心按照服务名分类组织服务清单,服务…

【100个Cocos实例】东皇太一的技能环绕效果

引言 Cocos中物体围绕物体做圆周运动。 不管是2D还是3D游戏,旋转是游戏中常见的操作之一,它可以用来改变游戏对象的方向、角度或者位置,从而创造出更加生动和有趣的游戏体验。 本文将介绍一下如何实现王者荣耀中东皇太一的技能环绕效果。 …

五分钟,Docker安装flink,并使用flinksql消费kafka数据

1、拉取flink镜像,创建网络 docker pull flink docker network create flink-network2、创建 jobmanager # 创建 JobManager docker run \-itd \--namejobmanager \--publish 8081:8081 \--network flink-network \--env FLINK_PROPERTIES"jobmanager.rpc.ad…

123. 股票买卖的最佳时机III(2次交易)

题目 题解 class Solution:def maxProfit(self, prices: List[int]) -> int:N len(prices)# 状态定义 dp[i][j][k]代表在第i天,被允许完成j次交易时,持有或者不持有的最大利润。k0代表不持有,k1代表持有dp [[[0 for k in range(2)] for…

朋友圈被折叠怎么解决?

最近有客户咨询发的朋友圈老被折叠怎么办,正常发都被折叠。一些朋友在微信做私域的,在朋友圈日常营销是必不可少的,如何避免这种问题和怎么解决呢? 为什么会被折叠? 1.据了解,朋友圈内容折叠功能是主要针对…

【JavaScript】3.1 项目实践:制作一个简单的网页应用

文章目录 项目需求HTML结构JavaScript逻辑添加待办事项标记待办事项删除待办事项保存待办事项 总结 在此章节中,我们将学习如何使用JavaScript创建一个简单的网页应用。这将是一个待办事项列表应用,用户可以添加新的待办事项,标记已完成的事项…

【MySQL】mysql中不推荐使用uuid或者雪花id作为主键的原因以及差异化对比

文章目录 前言什么是UUID?什么是雪花ID?什么是MySql自增ID?优缺点对比UUID:优点1.全球唯一性2.无需数据库支持 缺点1.存储空间大2.索引效率低3.查询效率低 雪花ID:优点1.分布式环境下唯一性 缺点1.依赖于机器时钟2.存储空间较大3.查询效率低 MYSQL自增:优点1.简单…

java SpringCloud版本b2b2c鸿鹄云商平台全套解决方案 小程序商城免费搭建

使用技术: Spring CloudSpring BootMybatis微服务服务监控可视化运营 B2B2C平台: 平台管理端(包含自营) 商家平台端(多商户入驻) PC买家端、手机wap/公众号买家端 微服务(30个通用微服务如:商品、订单、购物车、个人中心、支…

c#数据库:vs2022 加入mysql数据源

网上有VS2019连接MySQL数据库的,那么VS2022,VS2023如果和连接到mysql数据库呢,这里总结一下我的经历: 1、首先下载ODBC驱动安装包 当前下载地址:https://dev.mysql.com/downloads/connector/odbc/ 2、ODBC安装 下载完…

qgis添加wms服务

例如添加geoserver的wms服务 左右浏览器-WMS/WMTS-右键-新建连接 URL添加geoserver的wms地址 http://{ip}:{port}/geoserver/{workspace}/wms 展开wms目录,双击相应图层即可打开

Linux - 文件系统 - 理解目录 - 理解 软/硬链接

前言 在上篇博客当中,我们对 文件系统 和 inode 做了初步了解,本博客将在上篇博客的基础之上,对于 文件系统当中的目录进行进步一阐述。 Linux - 进一步理解 文件系统 - inode - 机械硬盘-CSDN博客 目录 一个文件有一个 inode,…

【面试送分题!“商品分类浏览”如何测试?】

电商项目无论是工作中,还是面试中,都是一个高频出现的词。 面试官非常热衷提问关于电商项目的问题。例如商品分类怎么测试?购物车怎么测试?订单怎么测试?优惠券怎么测试?支付怎么测试?等等。 …

tcp/ip协议2实现的插图,数据结构2 (19 - 章)

(68) 68 十九1 选路请求与消息 函rtalloc,rtalloc1,rtfree (69)

【硬核HeyGen平替】在window平台上使用MyHeyGen

最近在研究HeyGen的平替开源项目,然后发现了MyHeyGen这个项目,但是文档上面并没有说明如果在window平台上使用,考虑到非window平台安装显卡驱动什么的比较繁琐,所以尝试硬着头皮干... 前提 开源项目中所需的环境准备要先准备好 1…

线性空间(也叫向量空间)、线性运算

线性空间、线性运算 线性空间,也称向量空间。 假设是一个非空集合,是一个实数域。 在中定义了一个加法:即对中任何两个元素和,总有中另外一个元素与它们相对应,称为和的和,记作: 在定义了一个…

在全球碳市场中崭露头角的中碳CCNG

在全球气候治理的大背景下,中国碳中和发展集团有限公司(简称中国碳中和)正在成为全球碳交易市场的一个重要参与者。随着国际社会对碳排放的日益关注,中国碳中和凭借其在碳资产开发、咨询与管理等领域的深厚积累,正成为…

机器学习/sklearn笔记:MeanShift

1 算法介绍 一种基于质心的算法通过更新候选质心使其成为给定区域内点的均值候选质心的位置是通过一种称为“爬山”技术迭代调整的,该技术找到估计的概率密度的局部最大值 1.1 基本形式 给定d维空间的n个数据点集X,那么对于空间中的任意点x的均值漂移…