欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

shell脚本变量的分类

程序员文章站 2022-04-13 09:07:02
二、变量的基础知识 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