shell脚本变量的分类
程序员文章站
2022-07-06 10:06:34
二、变量的基础知识 shell中变量中不定义变量类型。shell变量是否为了方便调用。 shell变量:环境变量(全局变量),普通变量(局部变量) shell 不区分类型,使用的时候区分变量类型。 (一)shell变量分类: 1、环境变量 全局变量,显示环境变量: 定义环境变量: 方法1 方法2 方 ......
二、变量的基础知识
shell中变量中不定义变量类型。shell变量是否为了方便调用。
shell变量:环境变量(全局变量),普通变量(局部变量)
shell 不区分类型,使用的时候区分变量类型。
(一)shell变量分类:
1、环境变量
全局变量,显示环境变量:
echo $变量;env;set
定义环境变量:
系统固有:ps1,path,home,uid
方法1
export oldboy=1;
方法2
oldboy=1 export oldboy 永久生效的方法: 添加至/etc/profile ; . /etc/profile
方法3
declare -x a=1 取消环境变量:unset 变量 环境变量的文件: 全局文件 /etc/profile /etc/bashrc 用户环境变量文件 ~/.bashrc ~/.bash_profile
环境变量生效的的顺序:
①~/.bash_profile ②~ /.bashrc ③/etc/bashrc ④/etc/profile 登录shell: 先加载/etc/profile ;~/.bash_profile,然后加载~/.bashrc ;再次加载/etc/bashrc(生效顺序相反)
2、普通变量
局部变量,当前用户或者脚本中生效。
①字符串变量
②变量名:字母,数字,下划线,不能以数字开头。
变量名定义规则:见名知意。首字母,下划线连接单词。
③变量内容:字符串,
单引号:所见即所得。
不用引号,双引号:先解析变量或者命令,然后输出。
双引号可以把要定义的内容作为一个整体。纯数字不加引号。
命令变量:反引号,括号
变量名=`ls` 变量名=$(ls)
普通变量总结:
①在脚本中定义普通字符串变量,尽量把变量的内容使用双引号。 ②纯数字的变量内容可以不加引号。 ③希望变量的内容原样输出需要加单引号。 ④希望变量值引用命令并获取命令的结果就用反引号或者$() ⑤$db_t,若变量后面有其他字符连接的时候,就必须给变量加上大括号{},例如$db_t就要改成${db}_t。 ⑥变量名的定义要有一定的命令规范,并且要见名知意。 ⑦变量定义使用赋值符号(=),赋值符号两端不要有空格。
转自:https://www.cnblogs.com/cuiyongchao007/p/12791321.html