第三节SHELL脚本中的变量与运算(1.1-1.5)

一,脚本中的变量
1,1什么是变量
  • 在编写程序是,通常会遇到被操作对象不固定的情况
  • 我们需要用一串固定的字符来的表示不固定的值,这就是变量存在的根本意义
  • 变量的实现原理就是内存存储单元的一个符合名称
1,2 变量的命名规则

变量的名称中只能包含数字,大小写字母以及下划线

变量的名称只能用大小写字母及下划线开头

同一名称变量在多此被赋值时为覆盖动作

在企业代码规范化中变量的命名规则如下

#简短全大写变量名
OPENLAB
#首字母大写子类变量名
Openlab_Shell
#驼峰类型变量
kubernetes_Api
1,3变量的调用方法
$EASYLEE #表示取$EASYLEE这个变量的值
EASYLEE=1
echo $EASYLEE
#系统弹出
1

[!note]

  • 如果我们表示1b
    • $EASYLEEb 这个变量调用方式是使用EASYLEEb这串字符变量的值
    • ${EASYLEE}b 如果需要在字符串中特别说明那些字符表示变量那些字符不是,需要变量声明 ${}
  • 查看系统中的所有变量可以使用env
  • 查看系统中所有变量或函数可以使用set命令或declare
1,4字符的转义及引用
  • 在shel中很多本身有特殊的字符,比如空格井号等等
  • 如果在变量赋值或执行命令使用我们只想使用这些符号本身就需要用转义或引用
  • 在shell中反斜杠表示转义,每个反斜杠只能转义一个字符
  • 在shell中单引号表示强引用,我们可以把它看作批量转义,在单引号内的所有字符都被视为字符本身
  • 在shell中双引号表示弱引用,其和单引号的区别在于不能引用(`,,!,$)

代码示例如下

echo \#
#系统输出
#
#结束echo \# #
#echo \# \#
# #echo"# #"
# #
echo "$5"echo '$5'
$5
1,5变量的类型

从变量的作用范围划分,变量分为函数级变量,环境级变量,用户级变量和系统变量

函数级变量只在函数内生效通常用local来定义

vim test.sh
#在vim
#!/bin/bash
ACTION(){
local a=1
echo $a
}
ACTION()
echo $a
#sh test.sh
1
#第二号显示为空

环境级变量只在在当前运行的shell中生效,shell关闭变量被释放

export a=1
vim test.sh
#在vim
#!/bin/bash
echo $a
#:wq
sh test.sh
显示为空

用户级变量只有登录系统的指定用户,此变量才生效

useradd lee
vim ~lee/.bash_profile
#在vim中
export a=1
#:wq
vim /mnt/test.sh
sh	/mnt/test.sh
#系统弹出
1

[!note]

在系统中通常设置系统变量是编辑文件更安全

文件修改完需要用source命令使其生效

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

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

相关文章

PySide在Qt Designer中使用QTableView 显示表格数据

在 PySide6 中,可以使用 Qt Model View 架构中的 QTableView 部件来显示和编辑表格数据。 1、创建ui文件 在Qt Designer中新建QMainWindow,命名为csvShow.ui。QMainWindow上有两个部件:tableview和btn_exit。 2、使用pyuic工具将ui文件转换为…

Kafka(四) Consumer消费者

一,基础知识 1,消费者与消费组 每个消费者都有对应的消费组,不同消费组之间互不影响。 Partition的消息只能被一个消费组中的一个消费者所消费, 但Partition也可能被再平衡分配给新的消费者。 一个Topic的不同Partition会根据分配…

MySQL集群、Redis集群、RabbitMQ集群

一、MySQL集群 1、集群原理 MySQL-MMM 是 Master-Master Replication Manager for MySQL(mysql 主主复制管理器)的简称。脚本)。MMM 基于 MySQL Replication 做的扩展架构,主要用来监控 mysql 主主复制并做失败转移。其原理是将真…

环境变量在Gradle中的妙用:构建自动化的秘诀

环境变量在Gradle中的妙用:构建自动化的秘诀 在构建自动化的过程中,环境变量扮演着至关重要的角色。它们允许开发者根据不同的运行环境(如开发、测试和生产环境)来调整配置,而无需修改代码。Gradle,作为一…

基于Faster R-CNN的安全帽目标检测

基于Faster R-CNN的安全帽目标检测项目通常旨在解决工作场所,特别是建筑工地的安全监管问题。这类项目使用计算机视觉技术,特别是深度学习中的Faster R-CNN算法,来自动检测工人是否正确佩戴了安全帽,从而确保遵守安全规定并减少事…

实验一:图像信号的数字化

目录 一、实验目的 二、实验原理 三、实验内容 四、源程序及结果 源程序(python): 结果: 五、结果分析 一、实验目的 通过本实验了解图像的数字化过程,了解数字图像的数据矩阵表示法。掌握取样(象素个…

用Python爬虫能实现什么?得到什么?

Python爬虫是一种强大的工具,可以用来自动化地从互联网上抓取数据和信息。使用Python实现爬虫可以达成多种目的,包括但不限于以下几个方面: 数据收集: 网页内容抓取:可以抓取网页上的文本、图片、视频等内容。搜索引擎…

Linux 网络配置与连接

一、网络配置 1.1 ifconfig 网卡配置查询 ifconfig #查看所有启动的网络接口信息 ifconfig 指定的网卡 #查看指定网络接口信息 1.2 修改网络配置文件 vim /etc/sysconfig/network-scripts/ifcfg-ens33 #ens33网络配置文…

【电源拓扑】反激拓扑

目录 工作模式 固定频率 CCM连续电流模式 DCM不连续电流模式 可变频率 CRM电流临界模式 反激电源CRM工作模式为什么要跳频 反激电源应用场景 为什么反激电源功率做不大 电感电流爬升 反激变压器的限制条件 精通反激电源设计的关键-反激电源变压器设计 反激电源变压…

MySQL 事务与锁

事务ACID特性 原子性:事务要么同时成功,要么同时失败,事务的原子性通过undo log日志保证 一致性:业务代码要抛出报错,让数据库回滚 隔离性:事务并发执行时,他们内部操作不能互相干扰 持久性&…

Python 读取esxi上所有主机的设备信息

(主要是为了统计所有虚拟机的设备名称和所属主机) 代码: from pyVim import connect from pyVmomi import vim import ssldef get_vm_devices(vm):devices []try:if vm.config is not None and hasattr(vm.config, hardware) and hasattr(v…

SpringBoot解决Apache Tomcat输入验证错误漏洞

Apache Tomcat是美国阿帕奇(Apache)基金会的一款轻量级Web应用服务器。该程序实现了对Servlet和JavaServer Page(JSP)的支持。 Apache Tomcat存在输入验证错误漏洞,该漏洞源于HTTP/2请求的输入验证不正确,会…

postgresql简单导出数据与手动本地恢复(小型数据库)

问题 需要每天手动备份postgresql。 步骤 导出数据 /opt/homebrew/opt/postgresql16/bin/pg_dump --file/Users/zhangyalin/backup_sql/<IP地址>_pg-2024_07_15_17_30_15-dump.sql --dbname<数据库名> --username<用户名> --host<IP地址> --port54…

Day53:图论 岛屿数量 岛屿的最大面积

99. 岛屿数量 时间限制&#xff1a;1.000S 空间限制&#xff1a;256MB 题目描述 给定一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的矩阵&#xff0c;你需要计算岛屿的数量。岛屿由水平方向或垂直方向上相邻的陆地连接而成&#xff0c;并且四周…

低空经济持续发热,无人机培训考证就业市场及前景剖析

随着科技的不断进步和社会需求的日益增长&#xff0c;低空经济已成为全球及我国经济增长的新引擎。作为低空经济的重要组成部分&#xff0c;无人机技术因其广泛的应用领域和显著的经济效益&#xff0c;受到了社会各界的广泛关注。为满足市场对无人机人才的需求&#xff0c;无人…

深入剖析 Android 开源库 EventBus 的源码详解

文章目录 前言一、EventBus 简介EventBus 三要素EventBus 线程模型 二、EventBus 使用1.添加依赖2.EventBus 基本使用2.1 定义事件类2.2 注册 EventBus2.3 EventBus 发起通知 三、EventBus 源码详解1.Subscribe 注解2.注册事件订阅方法2.1 EventBus 实例2.2 EventBus 注册2.2.1…

梦想CAD在线预览编辑功能

1.最近有个需求&#xff0c;在web系统里进行在线进行CAD预览和编辑&#xff0c;这里用的是梦想CAD实现此功能&#xff0c;梦想CAD官网文档 2.CAD预览&#xff0c;需要需要对CAD文件格式进行转化&#xff0c;将dwg文件格式转化为mxweb格式&#xff0c;再进行调用梦想CAD里的打开…

ipynb转换为pdf、Markdown(.md)

Jupyter Notebook 文件&#xff08;.ipynb&#xff09;可以转换成多种数据格式&#xff0c;以适应不同的使用场景和需求。以下是几种常见的转换格式及其简洁描述&#xff1a; HTML: Jupyter Notebook可以直接导出为静态的网页&#xff08;HTML&#xff09;格式&#xff0c;这样…

记一次IP数据处理过程,文本(CSV文件)处理,IP解析

个人博客&#xff1a;无奈何杨&#xff08;wnhyang&#xff09; 个人语雀&#xff1a;wnhyang 共享语雀&#xff1a;在线知识共享 Github&#xff1a;wnhyang - Overview 起因 突然接收到XX给的任务&#xff0c;要将一批IP数据处理一下&#xff0c;将IP对应的省市区解析出来…

PHP基础语法

PHP 脚本在服务器上执行&#xff0c;然后将纯 HTML 结果发送回浏览器。 基本的 PHP 语法 PHP 脚本可以放在文档中的任何位置。 PHP 脚本以 <?php 开始&#xff0c;以 ?> 结束&#xff1a; <?php // PHP 代码 ?> PHP 文件的默认文件扩展名是 .php。 PHP 文…