Linux——shell脚本的基础篇(变量定义、变量种类、变量操作)
文章目录
- 一、变量的定义
- 二、变量名称的规范
- 三、使用变量
- 四、在shell脚本中的变量种类
- 五、字符的转译及变量的声明
- 六、变量值的传递
一、变量的定义
变量即在程序运行过程中它的值是允许改变的量
变量是用一串固定的字符来表示不固定的值的一种方法
变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储 Script 运行时可更改的程序信息
在 shell 中变量是不能永久保存在系统中的,必须在文件中声明
二、变量名称的规范
eg:your_name="runoob.com"注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。
同时,变量名的命名须遵循如下规则:
命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
中间不能有空格,可以使用下划线(_)。变量名称格式定义:WESTOS_LINUXWestos_LinuxwestoS_Linux
不能使用标点符号。
不能使用bash里的关键字(可用help命令查看保留关键字)。
三、使用变量
使用一个已经定义的变量,只要在变量名前面加美元符号
如:name='haiyan' #注意等号两边不要留空格echo $name echo ${name} #推荐使用, ehco $name+$name
变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界,比如下面这种情况:
for skill in Ada Coffe Action Java; do
echo "I am good at ${skill}Script"
done
如果不给skill变量加花括号,写成echo "I am good at $skillScript",解释器就会把$skillScript当成一个变量(其值为空),代码执行结果就不是我们期望的样子了。
推荐给所有变量加上花括号,这是个好的编程习惯。
已定义的变量,可以被重新定义
四、在shell脚本中的变量种类
在 shell 中变量分为环境级变量、用户级变量、系统级变量这三种
环境级变量只在当前 shell 中生效, shell 关闭变量丢失
用户级变量写在用户的骨文件(.bash_profile)中,只针对当前用户生效,切换用户后就不再生效
系统级变量被写在系统的配置文件 /etc/profile 或者 /etc/profile.d/ 中,对于所有用户都生效
(在https://mp.csdn.net/mdeditor/99946984#这个博客有详解)
五、字符的转译及变量的声明
\ | 转译单个字符 |
---|---|
“” | 弱引用,批量转译“”中出现的字符 |
“ | 强引用,批量转译‘’中出现的字符 |
‘’与“” | 两者的区别在于,“”不能转译“",“`”,“!”,“$" |
${} | 变量声明 |
eg:
A=1
echo $Ab
echo ${A}b
六、变量值的传递
$1 | 脚本后的第一串字符串 |
---|---|
$2 | 脚本后的第二串字符串 |
$3 | 脚本后的第三串字符串 |
$# | 脚本后所跟的字符串的个数 |
$* | 脚本后跟的所有字符串,模式为“1 2 3 ” |
$@ | 模式后跟的所有字符串,模式为“1”“2”“3” |
vim test.sh编辑测试文件
## 七、补充内容
我们也可以通过这种模式来对自己要进行的变量进行简单的运算。
后续会有详细介绍
shell的命令行也属于一个变量,也可以进行修改
Linux——shell脚本的基础篇(变量定义、变量种类、变量操作)相关推荐
- Linux shell 脚本编程-实战篇(二)
继: Linux shell 脚本编程-实战篇(一) 2. 创建与数据库.Web及电子邮件相关的脚本 2.1 MySQL 数据库 2.1.1 MySQL 数据库安装 到 http://repo.mys ...
- 详细介绍Linux shell脚本系列基础学习(列表)
本系列适合Linux初学者,属于Linux入门级教程,主要介绍了Shell的分类.语法格式以及脚本的使用和编写格式等. 不断更新中,是Shell学习的必读经典教程.现主要包含以下文章: Linux S ...
- Linux Shell脚本编程基础
2 Linux Shell脚本编程基础 发表于: Linux, Shell, UNIX, 资源分享 | 作者: 谋万世全局者 标签: Linux,Shell,编程基础,脚本 本文作者:Leal 授权许 ...
- Linux shell 脚本编程-实战篇(三)
继: Linux shell 脚本编程-实战篇(二) 3. 一些小有意思的脚本 3.1 发送消息 3.1.1 功能分析 对于这种简单的脚本,需要的功能不多.涉及的一些命令很常见,下面了解脚本所需的几个 ...
- Linux编写脚本查看mod,Linux shell脚本编写基础
在进行linux测试时编写脚本是必不可少的,Shell脚本的名称可以随便定义,也不要什么后缀名,例如可以写abc,smartzip这类名称,运行时只要键入 ./smartzip就能运行脚本了.. 每行 ...
- linux sh 必要,Linux Shell学习之基础篇(不适合学习,仅为本人笔记)
在学习Linux和OpenStack过程中,感觉不管是大规模部署部署还是运维,Shell脚本都已经是标配,所以学好脚本很有必要. 以下仅为Linux Shell的一些基础笔记,这里作为笔记记下. == ...
- Linux Shell脚本编程基础(11)
实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核,不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序.Shel编程语言具有普通编程 ...
- Linux shell脚本基础学习详细介绍(完整版)2
详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续 ...
- Linux基础篇--shell脚本编程基础
Linux基础篇–shell脚本编程基础 本章内容概要 编程基础 脚本基本格式 变量 运算 条件测试 配置用户环境 7.1 编程基础 程序:指令+数据 程序编程风格: 过程式:以指令为 ...
- Linux shell脚本基础学习
Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...
最新文章
- java接口测试入门
- 搭建dubbo项目解决dubbo.xml标签报错的问题
- mysql install语句_mysql8 参考手册--INSTALL COMPONENT语句
- 【Windows 逆向】OD 调试器工具 ( OD 工具简介 | OD 工具与 CE 工具对比 )
- 2019浙江C语言二级答案,2019年下半年二级C语言试题及答案
- python常用的装饰器库_Python中的各种装饰器详解
- 《程序设计技术》第二章例程
- jdk8 HashMap初始化和扩容机制
- oracle 得到父节点和子节点
- Invalid ADAPTORNAME specified. Type 'imaqhwinfo' for a list of available ADAPTORNAMEs. Image acquis
- Python+uiautomation 查找微信僵尸粉
- 计算机在配置windows update,电脑开机出现配置Windows update怎么办
- 二分图最佳匹配(KM算法)学习笔记
- OpenPose 命令行说明
- 医学自然语言处理(NLP)相关论文汇总之 NAACL 2022
- 浅谈分形艺术是什么?
- 全国结婚率连续5年下降,这届年轻人,为什么不敢结婚?
- 电脑上的ofd格式文件如何打开呢_ofd文件怎么打开用什么软件
- Mysql 带条件计数
- 完美解决OneNote for Windows 10无法同步问题