SHELL变量入门
2. SHELL变量入门
2.1
1.变量特性
Shell是一种动态类型语言和弱类型语言,默认情况下,在bash Shell中不区分变量类型的,例如常见的变量类型为整数、字符串、小数等。
2.变量类型
变量分为两类: 环境变量(全局变量)和普通变量(局部变量)。
示例
#!/bin/bash
# 定义变量x,并且赋值为123
x=123
# 变量x加1
let "x += 1"
# 输出变量x的值
echo "x = $x"
# 显示空行
echo
# 替换x中的1为abc, 并且将值赋给变量y
y=${x/1/abc}
# 输出变量y的值
echo "y = $y"
# 声明变量y
declare -i y
# 输出变量y的值
echo "y = $y"
2.2 环境变量
环境变量一般是指用export内置命令导出的变量,用于定义Shell的运行环境。
Shell通过环境变量来确定登录用户名、命令路径、终端类型、登陆目录等,所有的环境变量都是系统全局变量,可用于所有子进程中。
环境变量可以在命令行中设置和创建,但用户退出命令行时这些变量值就会丢失,因此如果希望永久保存环境变量,可在用户家目录下的.bash_profile 或 .bashrc(非用户登录模式特有,例如远程SSH)文件中,或者全局配置/etc/bashrc或/etc/profile文件中定义。
按规范,所有环境变量的名字均采用大写形式。在将环境变量应用于用户进程程序之前,都应该用export命令导出定义,例如export VAR=1.
有些环境变量,例如HOME、PATH、SHELL、UID、USER等,在用户登录之前已经被/bin/login程序设置好了。通常环境变量被定义并保存在用户家