基本介绍
1、Shell 的概念
在 Linux 系统中,Shell 是用户与内核之间交互的接口程序,为用户提供使用操作系统的接口,也被称为命令解释器。Shell 接收用户输入的命令,并将其转换为 Linux 系统可以理解的操作,最终通过调用相应的程序来完成这些操作。
2、变量的概念
在 Linux Shell 中,变量通常用于存储全局数据、局部数据或临时数据。
变量的一般定义格式如下:
代码语言:javascript复制<变量名>=<变量值>
# 示例:var=123
定义变量时,需要注意以下几点:
- 等号(=)两边不能有空格,否则会出现 command not found 报错
- 变量名区分大小写
- 变量名中只能包含字母、数字、下划线,且不能以数字开头
- 变量名中避免使用 Shell 关键字,如 if、then、for、do、done、while、case、function 等
- 变量名中避免使用特殊符号和空格
- 变量名中尽量使用大写字母表示常量
- 变量值中如果包含空格,应当使用单引号 '' 或双引号 "" 将变量值括起来,作为字符串使用
变量的数据类型
1、字符串(String)
在 Linux Shell 中,字符串是最常用的数据类型,主要用于存储文本信息:
- 变量值可以包含字母、数字、特殊符号和空格
- 变量值可以用单引号 ''、双引号 "" 或不加引号
如果没有特别的声明,所有 Shell 变量在赋值后,其对应的变量值都是以字符串的形式存储的,即使变量值看起来是数字,因此以下变量定义都是等价的:
代码语言:javascript复制var=123
或
var='123'
或
var="123"
2、整数(Integer)
在 Linux Shell 中,可以使用 declare -i 或 let 命令将变量声明为整数,变量值只能包含数字。
代码语言:javascript复制declare -i var=123
或
let var=123
3、数组(Array)
在 Linux Shell 中,可以使用 declare -a 命令将变量声明为数组。
代码语言:javascript复制declare -a var=(1 2 3)