目录
一、shell中的变量
- 变量的定义:
name=ylr
name='ylr'
name="ylr"
注意:1.变量定义时‘=’两边不能有空格
2.变量名字不能以数字开头
3.变量的值如果有空格,必须用引号包括才行 如: name="yangyang 12"
4.变量的值单引号,双引号,不带引号在上述都是一样的,因为shell的变量值默认为字符串
- 变量的调用:
$name
重复定义变量:此时的变量会叠加,name="$name"isgirl 或者 name=${name}isgirl
- 变量的查看:
echo $name #echo是回显,其默认有回车符,用echo -n $name 可以消除
set|grep ”变量名称“ #查看所有变量
- 变量的删除:
unset 变量名
二、变量的作用域
hello.sh的代码:
"your name is $name and time is $gender"
’your name is $name and time is $gender‘
问题:在对话窗口中 name=ylr gender=girl
无法被hello.sh所引用
需要用 export name=ylr
export gender=girl
运行结果:
your name is ylr and time is girl ----双引号
your name is $name and time is $gender----单引号
解释:
当前会话:父shell
hello.sh: 子shell
父亲和儿子中定义的变量无法相互引用
当父shell中:export name=ylr 时,则 :子shell可以引用的
# “ ” 双引号:弱引用,变量可以转义
# ’ ‘ 单引号:强引用,$name等特殊符号都将变成普通文本。
三、环境变量
- 环境变量的定义:
export name=ylr
#这个变量可以突破父子shell之间的隔阂 父的环境变量可以由他儿子查到。
#export是声明的意思。
---------over
- 系统环境变量的定义:
sudo vim /etc/profile #针对所有的用户
在末尾添加:
export name=ylr
重启
---------over