shell基础篇:Bash特性和shell变量

news2024/11/26 18:38:01

shell基础篇

  • 一、Bash特性
    • bash基础特性
    • 关于历史记录的简单用法
    • bash特性汇总
  • 二、shell变量
    • 变量含义
    • shell变量名规则
    • 定义shell变量
    • 变量替换/引⽤
    • 变量的作⽤域


一、Bash特性

bash基础特性

● bash是一 个命令处理器,运行在文本窗口中,并能执行用户直接输入的命令
● bash还能从文件中读取linxu命令,称之为脚本
● bash支持通配符、 管道、命令替换、条件判断等逻辑控制语句

关于历史记录的简单用法

bash有诸多⽅便的功能,有助于运维⼈员提升⼯作效率

history #命令,查看历史命令记录,注意【包含⽂件中和内存中的历史记录】
在这里插入图片描述
最多能看到1000行
在这里插入图片描述

~/.bash_history里存放用户执行的历史命令
我们可以vim ~/.bash_history查看一下

echo $HISTFILE可以看到文件的地址
在这里插入图片描述

history #命令 以及参数
-c: 清空内存中命令历史;
-r:从⽂件中恢复历史命令
数字 :显示最近n条命令 history 10
在这里插入图片描述
这时候我们history,发现历史被清空了

但是~/.bash_history里的历史还是存在的,所以我们可以用
history -r ~/.bash_history
进行恢复
在这里插入图片描述

调用历史记录命令
!历史id,快速执行历史命令
在这里插入图片描述

!!可以用来执行上次的命令,或者用上方向键来执行上次命令
在这里插入图片描述

bash特性汇总

  • ⽂件路径tab键补全
  • 命令补全
  • 快捷键ctrl + a,e,u,k,l
  • 通配符
  • 命令历史
  • 命令别名
  • 命令⾏展开

二、shell变量

变量含义

变量是暂时存储数据的地⽅,是⼀种数据标记(房间号,标记了客⼈所在的位置),数据存储在内容空间,通过调⽤正确的变量名字,即可取出对应的值。

shell变量名规则

名称定义要做到⻅名知意,切按照规则来,切不得引⽤保留关键字(help检查保留字)

  • 只能包含数字、字⺟、下划线
  • 不能以数字开头
  • 不能⽤标点符号
  • 变量名严格区分⼤⼩写

例:
有效的变量名:
NAME_CHAOGE
_chaoge
chaoge1
chaogE1
Chao2_ge
⽆效的变量名:
?chaoge
chao*ge
chao+ge

定义shell变量

单引号变量,不能识别特殊语法
双引号变量,能识别特殊符号

变量定义与赋值,注意变量与值之间不得有空格

name="wang"
变量名
变量类型,bash默认把所有变量都认为是字符串

bash变量是弱类型,⽆需事先声明类型,是将声明和赋值同时进⾏

变量替换/引⽤

echo $name #可以省略花括号

在这里插入图片描述

变量的作⽤域

本地变量,只针对当前的shell进程

pstree  #检查进程树

在这里插入图片描述

  • 环境变量,也称为全局变量,针对当前shell以及其任意⼦进程,环境变量也分⾃定义 、内置两种环境变量
  • 局部变量,针对在 shell函数 或是 shell脚本 中定义

⾃定义变量

变量赋值: varName=value
变量引⽤: ${varName}$varName
单引号,识别为普通字符串

在这里插入图片描述

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

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

相关文章

PCB设计入门基础

PCB设计入门基础 PCB基本结构 copper foil 铜箔laminate 层压(或粘合)材料inner layer core 内层堆芯 PCB基本结构是一个三明治的结构,它的上层是一个铜层,底层也是一个铜层,中间层脚FR-4,FR-4是一层不导电的物质,叫做…

轻量封装WebGPU渲染系统示例<11>- WebGPU简单PBR效果(源码)

当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/main/src/voxgpu/sample/SimplePBRTest.ts 此示例渲染系统实现的特性: 1. 用户态与系统态隔离。 细节请见:引擎系统设计思路 - 用户态与系统态隔离-CSDN博客 2. 高频调用与低频调用隔离。 …

爆肝整理,Fiddler+Charles+Chrome开发者工具弱网测试总结,一篇概全...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、Fiddler模拟弱…

​国网、首钢集团、施耐德、吉利等出席2023中国企业绿电国际峰会​

2023中国企业绿电国际峰会将通过邀请国家发展和改革委员会能源研究所、国网能源研究院、落基山研究所、首钢集团技术研究院、远景集团、施耐德电气、有色金属技术经济研究院有限责任公司、上海电气储能、博世、巴斯夫、晶科能源、吉利汽车等领域的企业高管,从绿色电…

跨境电商五大运营模式都有哪些?有何特点?

在跨境电商高速发展之下,跨境电商平台数量不断增加,各种跨境电商模式也不断逐渐暴露在人们的视野,下面小编就来为大家分析分析这些跨境电商都有哪些,它们的特点又是哪些,快来一起了解了解吧! 一、跨境电商五大运营模式…

第二证券:43家上市券商三季报拆解

受生意、投行、自营三大业务“滑坡”影响,本年三季度,上市券商的运营成果略有“退让”。 根据Wind计算数据,本年第三季度,43家上市券商估计完结运营收入1127.37亿元,同比下降9.7%;归母净流润280.51亿元&am…

办公必备神器:如何用AI快速生成年终总结PPT?

2023年已经步入尾声,今年的销售业绩如何?用户同比增长率是否达到预期?部门年度API完成情况?新开发的项目进展如何?品牌全球计划在各区域市场的部署进展?…… 每年年底,不论是纵横全球的大企业&…

【Linux基础IO篇】系统文件接口(1)

【Linux基础IO篇】系统文件接口(1) 目录 【Linux基础IO篇】系统文件接口(1)回顾C语言的文件接口系统文件I/Oopen接口的介绍 open函数返回值文件描述符fd(小整数)文件描述符的分配规则 重定向dup2系统调用改…

大模型训练时的内存泄漏与显存不足

内存泄漏位置 位置1 FaceDetection 不可重复创建FaceDetection,该位置是内存泄漏的大头 mediapipe.solutions.face_detection.FaceDetection(model_selection1, min_detection_confidence0.5)位置2 tensorboardX 不可重复创建 tensorboardX.SummaryWriter Summ…

2023年新疆电气年会-安科瑞 蒋静

2023年新疆电气年会于10月12-13日在五家渠市五家渠青湖御园酒店隆重召开。安科瑞电气股份有限公司受邀参会,为大会带来了主题演讲和产品现场展示! 大会以“绿色低碳、智慧新疆”主题,分为专题学术报告、工程信息交流、论文颁奖、产品展示等环…

基于Vite使用VitePress搭建静态站点博客

使用VitePress搭建静态站点博客 官方文档什么是VitePress?一、初始化项目1.安装依赖包VitePress可以单独使用,也可以安装到现有的项目中。在这两种情况下,您都可以安装它: (也可以全局安装,建议:当前项目内安装) 2.初始…

c语言思维框图

思维框图 文章目录 前言一、c语言思维框图总结 前言 附件为c语言思维框图。 一、c语言思维框图 后面可以增加更多框图,比如c/c学习路线图。 总结 提示:这里对文章进行总结: 例如:以上就是今天要讲的内容,本文仅仅简单…

Xilinx 产品制程工艺

A – 45nm 供货至2030年 Sparton6 xx 提供卓越的连接功能,例如高逻辑引脚比、小尺寸封装、MicroBlaze™ 软处理器,以及多种受支持的 I/O 协议。 B – 28nm 供货至2035年 spartan-7\artix-7 \kintex-7\virtex-7\Zynq™ 7000 SoC 工艺节点上的持续创新…

Python-市场交易中的概率夏普比率 (PSR)

“虽然偏度和峰度不会影响夏普比率的点估计,但它会极大地影响其置信带,从而影响其统计显着性”Bailey 和 Lpez de Prado 1 0. 简介 今天,我们将讨论备受推崇的夏普比率(SR),该指标几

野火霸天虎 STM32F407 学习笔记_2 寄存器介绍

寄存器 虽然正式编程没有必要用寄存器编程,通常都是库函数或者 hal 库。但是还是有必要学一下原理的。 寄存器映射 芯片视图如下。 丝印:芯片上印的信息。型号,内核,生产批次等。 引脚:左上角是有小圆点的&#x…

CH09_重新组织数据

拆分变量(Split Variable) 曾用名:移除对参数的赋值(Remove Assignments to Parameters) 曾用名:分解临时变量(Split Temp) let temp 2 * (height width); console.log(temp); t…

JVM——类的生命周期(加载阶段,连接阶段,初始化阶段)

目录 1.加载阶段2.连接阶段1.验证2.准备3.解析 3.初始化阶段4.总结 类的生命周期 1.加载阶段 ⚫ 1、加载(Loading)阶段第一步是类加载器根据类的全限定名通过不同的渠道以二进制流的方式获取字节码信息。 程序员可以使用Java代码拓展的不同的渠道。 ⚫ 2、类加载器在加载完类…

SAP 物料凭证在凭证流中显示归档

问题: 在交货单做过PGI/PGR之后,显示物料凭证已归档,但是实际上并不是人为归档 MIGO去显示物料凭证的时候显示不存在 VL09 无法冲销 如下图所示 原因:1.人为做了归档 2.在做PGI的时候出现了异常。导致出现了问题 解决…

本章内容的重点是对各种电子式电动机保护器电路的原理分析和故障维修指导,对电子式电动机保护器以下简称为电动机保护器。

上世纪八十年代之前,电子技术的应用尚处于初级阶段,对电动机的保护任务多由热继电器承担,国内型号为为JR20-XX系列、JR36-XX系列等。其保护机理如下:热继电器由发热元件、双金属片、触点及一套传动和调整机构组成。发热元件是一段…

react-hook-form。 useFieldArray Controller 必填,报错自动获取较多疑问记录

背景 动态多个数据Controller包裹时候,原生html标签input可以add时候自动获取焦点,聚焦到最近不符合要求的元素上面 matiral的TextField同样可以可是x-date-pickers/DatePicker不可以❌ 是什么原因呢,内部提供foucs??属…