当前位置:网站首页>shell简介以及变量定义
shell简介以及变量定义
2022-07-20 17:46:00 【Test_the_rookie】
一、什么是shell
shell是一个基于C语言开发的程序。shell既是一种命令语言,又是一种程序设计语言。
二、常用的shell
常用的shell有bash、sh、zsh。通常使用的是bash。
三、shell变量定义规则
1.定义变量时,变量名与等号、等号与值之间不能存在空格。
2.变量名仅能使用字母、下划线、数字,并且只能以字母和下划线开头
3.变量名之间不能存在空格,可以使用"_"代替。
4.变量值存在空格时,需要使用双引号/单引号进行引用。
四、变量的使用
1.使用变量时,需要使用$符号,如:
注意:使用变量时,{}不是必要的,{}的作用是确定变量的边界,当变量后紧跟了其它的code时,需要加上{},这样程序才能正确识别变量的边界。
2.定义一个只读变量:使用readonly读取变量,用法如===》readonly 变量名
3.删除变量:使用unset 可以将变量删除,但是无法删除只读变量
4.变量类型(仅做了解):
局部变量:仅能在当前shell中使用,其它shell无法访问。
环境变量:Linux自带的变量
shell变量:shell程序设置的特殊变量
注意:想让子进程访问父进程的变量时,需要使用export,将私有变量进行导出。
五、shell中的字符串
1.shell中的字符串可以使用单引号或双引号进行声明。
2.使用单引号声明的字符串,里面存在变量时,无法获取到对应变量的值。
3.双引号声明的字符串可以使用变量以及转义字符。
4.获取字符串长度:echo ${#字符串名}
5.提取字符串:echo ${字符串名:m:n} m:代表起始坐标,n代表提取的长度。
6.字符串内容替换:
6.1替换一个匹配值:echo ${变量名/原始值/新值}
6.2替换所有匹配值:echo ${变量名//原始值/新值}
7.查看指定字符在字符串中的位置:(注意!这不是单引号,是反引号“`”)
六、定义数组
1.shell仅支持一维数组
2.语法为:数组名=(值1 值2 ....值n),每个值之间使用空格间隔。
3.获取数组中的指定元素:echo ${数组名[对应元素的下标]}
4.获取数组的长度:echo ${#数组名[*]}
--------------------------------------------------------学海无涯
边栏推荐
- Sqlserver BCP参数解释和字符格式选择和故障处理小结
- In 2022, prepare for the golden nine silver ten, Android from infrastructure to architecture advanced all-round interview question analysis (including the answer and source code)
- 独立搭建个人博客除了云服务器,还需要哪些技术知识?
- 新手小白如何搭建个人的服务器?
- SEO(Search Engine Optimization)搜索引擎优化
- 选择云企业网CEN接入自建数据库,需要怎么选择和链接?
- Qt简单串口助手
- POJ2308连连看dfs+bfs+优化
- 浅拷贝 深拷贝
- 正则表达式匹配所有中文字符或者带有双引号的字符
猜你喜欢
从云原生到智能化,深度解读行业首个「视频直播技术最佳实践图谱」
This should be done in the face of medical disputes
查询mysql的最大连接数和当前连接数
lm386实用原理图
Exercice leetcode - Échange de doigts 66. Construire un tableau de produits
Cloud rendering, the "upstart" in the design industry
2022年备战金九银十,Android从基础到架构进阶全方面面试题解析(含答案及源码)
二师兄的纪录片
2022清华暑校笔记之L2_1神经网络的基本组成
【CCNA实验分享】三层交换机Vlan间路由
随机推荐
In 2022, prepare for the golden nine silver ten, Android from infrastructure to architecture advanced all-round interview question analysis (including the answer and source code)
肝胆外科疾病,存在误诊和/或漏诊、误诊,医疗机构承担主要赔偿责任
@Configuration和@Bean
可衡量的项目目标怎么设定?
Maixll-Dock 二维码识别
广东星昊无菌注射剂通过欧洲药品管理局认证,拿到国际市场“品质通行证”
淘宝天猫京东拼多多等平台关键词监控价格API接口(店铺商品价格监控API接口代码对接展示)
机器学习-Kmeans
[format string] the principle and utilization of format string vulnerability
Market Research and investment forecast report of China's tungsten powder industry (2022 Edition)
低成本搭建腾讯云网站服务器(自己搭建网站服务器)
国密curl的用法指南
知识图谱 关系抽取有哪些方法
[cloud native • Devops] master the continuous integration tool Jenkins
传感器实验——485空气温湿度
正则表达式获取两个标识中间的内容
机器学习作业2
Kubernetes 进阶训练营 存储
独立搭建个人博客除了云服务器,还需要哪些技术知识?
Chen Hehong: Construction and application of alime mkg, a multimodal knowledge map of Alibaba new retail