第一天:定义变量

2019-07-18  本文已影响0人  古巷挂青灯

1.1 定义变量

值可变的量,称为变量
环境变量的名称:见名知其意(看到的他知道是干啥的)
变量名=变量值,常说的变量,一般是变量名
字母数字下划线,不能是数字开头

1.2 环境变量和普通变量

1.2.1 环境变量(全局变量)

declare -x 变量名=value
export 变量名=value
环境变量的执行顺序.jpeg

1.2.2 普通变量

1.适用于一般场景,不适用于带有空格等字符
变量名=value
2.所见即所得的定义方式
变量名=’value’
3.解析双引号之内的变量
变量名=”value”

Ø 注意点:(举例说明)
1. 变量如果后面有内容,一定要把变量括{}起来
2. 希望变量内容原样输出则加单引号
3. 希望获取变量中的命令执行结果用``或者$()

定义变量的方式

1、定义环境变量的方式:
export 变量名=变量值
2、定义普通变量的方式:
变量名=变量值
3、定义变量的三种方式

1-适用于一般场景,不适用于带有空格等字符

[export] 变量名=value

2-所见即所得的定义方式

[export] 变量名=’value’

3-解析双引号之内的变量

[export] 变量名=”value”

4、环境变量文件的加载顺序
/etc/profile ===> ~/.bash_profile ===> ~/.bashrc ===> /etc/bashrc

5、非登录式(ssh)的shell只加载后两个

1.3 临时变量和永久变量(了解)

如果按照变量的生存周期来划分的话,Linux变量可以分为两类:

1.4 shell特殊变量

1.4.1 参数特殊变量
特殊变量 作用已经说明
$0 获取当前执行shell脚本文件名,如果执行脚本带路径,则包括完整路径
$n 获取当前执行shell脚本的第n个参数值,若n>9,则用大括号包裹,如${10}
$# 传递到脚本的参数个数
$* 以一个单字符串显示所有向脚本传递的参数
$@ 与$*相同,但是使用时加引号,并在引号中返回每个参数。
1.4.2 进程特殊变量
特殊变量 作用已经说明
$? 显示最后命令的退出状态。0表示没有错误,非0表明有错误。此变量最常用
$$ 显示脚本运行的当前进程ID号,此变量不常用,了解即可
$! 后台运行的最后一个进程的ID号,此变量不常用,了解即可
$_ 之前运行脚本的最后一个参数,此变量最不常用,了解即可
1.5 shell变量子串
表达式 作用说明
${param} 返回变量$param内容
${#param} 返回变量$param内容的字符长度,也适合特殊变量,此表达式最常用
${param:offset} 在变量$param中,从位置offset之后开始提取子串到结尾
${param:offset:length} 在变量$param中,从位置offset之后开始提取长度为length的子串
${param#word} 在变量$param开头删除最短匹配的word子串
${param##word} 在变量$param开头删除最长匹配的word子串
${param%word} 在变量$param结尾删除最短匹配的word子串
${param%%word} 在变量$param结尾删除最长匹配的word子串
${param/pattern/string} 将变量$param中符合pattern的第一个内容用string取代
${param//pattern/string} 将变量$param中符合pattern的所有内容用string取代
上一篇 下一篇

猜你喜欢

热点阅读