shell 变量
目录
变量定义
赋值变量
使用变量
变量作用域
变量定义
定义:
变量由数字、字母、下划线组成。
例如:
name="hello world!"
note:
1. 不能以数字开头
2. 不能以关键字作为变量的名称
3. "="号左右不能由空格
4. 变量名中间不能由空格
5.变量名不能使用标点符号
6.变量名不能使用美元符号$
变量赋值
1. 使用命令给变量赋值
例如:以上表示把当前所在目录赋值个体dir
dir=`pwd` or dir=$(pwd)
列如:打印/home下的文件名
for file_name in `ls /home`; do echo ${file_name} done
变量使用
使用一个定义过的变量,只需要在变量名前加美元符号($)即可。
name="zsh" echo $name echo ${name}
说明:加不加{}都可以,加{}是为了解释器识别变量的边界。
定义后的变量可以重新定义.
#! /bin/bash name="zsh" echo ${name} name="zyou" echo ${name}
只读变量
把变量定义为只读变量,变量的值不能修改
#! /bin/bash readonly name="zhs" name="sh"
删除变量
note:unset不能删除只读变量
unset name
变量作用域
1) 局部变量
在命令或脚本中定义的变量,且在当前shell实列有效,启动其他shell实列不能访问局部变量。
2) 环境变量
所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行,
有必要的时候可以在shell脚本中定义环境变量,例如:设置PATH环境变量
export PATH=/home/user/work/:$PATH
3) shell 变量
shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,也有一部风是局部变量,
这些变量保证了shell程序的正常运行。