|
37.调整变量的属性
- 只读变量:使用readonly命令
readonly 变量名称
- readonly其他用法
- readonly或readonly -p:显示目前具有只读属性的变量列表
- readonly -f 函数名称:设定该函数式不可修改
- readonly -a 数组变量:设定-a后接的变量名是只读的数组
- 只读变量:使用declare
38.自定义环境变量
- 以系统管理员的角色工作时,环境变量配置文件有三个
- /etc/profile
- /etc/bash.bashrc
- /etc/skel目录下的所有文件
39.Here Document
基本用法:
[root@test ~]# cat >>123.txt hello
> my name is "jack"
> welcome to BJ
> end
You have new mail in /var/spool/mail/root
[root@test ~]# cat 123.txt
hello
my name is "jack"
welcome to BJ
- Here Document也支持变量替换.在输入的内容中,如果有变量,bash在转向前,会先替换变量值
[root@test ~]# Wow='Wow,great!'
[root@test ~]# m1=$(cat They are jack,marry and john.
> $WoW
> HERE
> )
[root@test ~]# echo $m1
line 1 is good. They are jack,marry and john.
[root@test ~]# m1=$(cat They are jack,marry and john.
> $WoW
> HERE
> )
[root@test ~]# echo $m1
line 1 is good. They are jack,marry and john. $WoW
40.如何测试变量是否存在
语法: ${待测变量-默认值}
解释:判断待测变量是否存在,如果变量存在,就传回变量的值,如果没有就会将默认值传给待测变量
[root@test ~]# unset myname
[root@test ~]# r=${myname-'basher'}
[root@test ~]# echo $r
basher
[root@test ~]# myname="Jack"
[root@test ~]# r=${myname-'basher'}
[root@test ~]# echo $r
Jack
[root@test ~]# myname=
[root@test ~]# r=${myname:-'basher'}
[root@test ~]# echo $r
basher
[root@test ~]# unset myname
[root@test ~]# r=${myname:-'basher'}
[root@test ~]# echo $r
basher
- 用if判断
- 测试变量是否"不存在"或其值为空:提示错误信息
语法:${待测变量:?提示信息}
解释:判断变量是否"不存在"或者为"空",如果条件成立,则显示:?后的提示信息。并立即停止执行script
拆解表达式:
范例:
|
|
|