一、shell的介绍
Shell ⼀个命令解释器,它接收应⽤程序/⽤户命令,然后调⽤操作系统内核。 Shell还是⼀个功能强⼤的编程语⾔,易编写、易调试、灵活性强。
(1) Linux提供的shell解释器有
(2) bash 和 sh的关系
(3) Centos默认的Shell解析器是bash
二、变量名的定义规则
- 变量名称可以由字⺟、数字和下划线组成,但是不能以数字开头,环境变量名建议⼤ 写。
- 等号两侧不能有空格
- 在bash中,变量默认类型都是字符串类型,⽆法直接进⾏数值运算。
- 变量的值如果有空格,需要使⽤双引号或单引号括起来
2.1 等号周围没有空格
对于许多语⾔,例如 Python,在等号周围添加空格是⼀个好习惯,因为它可以提⾼代码的可读性。 但是在 Bash 中,不应该在定义变量时添加额外的空格。如下示例:
name="小美" #正确
name = "小美" #错误
[root@iZ2zeh6vyxsq620zifz8jaZ~]# username="小 美" #引号内可加空格
[root@iZ2zeh6vyxsq620zifz8jaZ]#echo $username
小 美
2.2 正确地定义数组
在 Bash 中定义⼀个数组并不难。只需要使⽤⼀对括号来包含所有元素。如下示例:
注意:分隔数组中每个元素用空格!!!
arr=("陈少熙" "何浩楠" "王一珩") #等号两边不要空格,字符串之间要用空格分隔
#遍历数组
[root@iZ2zeh6vyxsq620zifz8jaZ ~]# arr=("陈少熙" "何浩楠" "王一珩")
[root@iZ2zeh6vyxsq620zifz8jaZ ~]# echo $arr
陈少熙
[root@iZ2zeh6vyxsq620zifz8jaz ~]# echo ${arr[1]}
"何浩楠"
[root@iZ2zeh6vyxsq620zifz8jaZ ~]# echo ${arr[2]}
"王一珩"
[root@iZ2zeh6vyxsq620zifz8jaZ ~]# echo ${arr[3 ]}
[root@iZ2zeh6vyxsq620zifz8jaZ ~]# echo ${arr[*]}
陈少熙 "何浩楠" "王一珩"
2.3 查看所有的变量 set
set #查看所有变量名
set #查看所有变量名
set username
2.4 取消变量的设置 unset
unset 变量名 #删除环境变量
unset username #取消变量名的设置
2.5 将局部环境变量提升为全局 export
export 变量名
2.6 正确选择引号
当在 Bash 中声明⼀个变量时,关于引号的使⽤有 3 个可选的⽅案:
- 没有引号
- ⽤单引号
- ⽤双引号
默认情况下,Bash 中的每个值都是⼀个字符串。因此,如果不需要空格,就不需要使⽤任何引号。(同 样,它与其他语⾔有些不同,在其他语⾔中,您不能在没有引号的情况下定义字符串)。
2.6.1 单引号和双引号之间的区别
当需要使⽤引号时&