Linux学习笔记------shell脚本中的变量

shell脚本中的变量

在 shell 中变量分为环境级变量,用户级变量,系统级变量

环境级变量只在当前shell 中生效, shell关闭变量丢失

用户级变量写在用户的骨文件中,只针对当前用户生效

系统级变量被写在系统的配置文件 /etc/profile 或者 /etc/profile.d/ 中,对于所有用户都生效

环境级变量

Linux学习笔记------shell脚本中的变量_第1张图片

Linux学习笔记------shell脚本中的变量_第2张图片

用户级变量

Linux学习笔记------shell脚本中的变量_第3张图片

Linux学习笔记------shell脚本中的变量_第4张图片

Linux学习笔记------shell脚本中的变量_第5张图片

Linux学习笔记------shell脚本中的变量_第6张图片

系统级变量

Linux学习笔记------shell脚本中的变量_第7张图片

Linux学习笔记------shell脚本中的变量_第8张图片

系统级变量/etc/bashrc和/etc/bash_profile的区别

系统级变量设定一般写在/etc/bashrc    /*/etc/.bashrc与/etc/profile的区别是写在/etc/profile下可能不识别*/

例如

在系统级变量.bashrc里设置变量b的值,在系统级变量.bashprofile里设置变量a的值

su student

在/etc/profile下设定的变量不生效,但在/etc/bashrc下设定的变量生效

不过,su - student都生效

Linux学习笔记------shell脚本中的变量_第9张图片

Linux学习笔记------shell脚本中的变量_第10张图片

环境变量的PATH路径

Linux学习笔记------shell脚本中的变量_第11张图片

Linux学习笔记------shell脚本中的变量_第12张图片

Linux学习笔记------shell脚本中的变量_第13张图片

如果修改错误,会导致一些基本的命令如:ls,vim不能直接使用,这是因为命令的相对路径发生了改变,我们可以用绝对路径执行。

Linux学习笔记------shell脚本中的变量_第14张图片

Linux学习笔记------shell脚本中的变量_第15张图片

Linux学习笔记------shell脚本中的变量_第16张图片

环境变量的命令行提示符

Linux学习笔记------shell脚本中的变量_第17张图片

变量名称的规范

变量名称中通常包含大小写字母,数字,下划线(不是必须),但变量名称不能以数字开头

例如:

常用变量名称格式
WESTOS_LINUX
Westos_Linux
westoS_Linux

字符的转译及变量的声明

\               转译单个字符

""             弱引用,批量转义 " " 中出现的字符

' '              强引用,批量转义 ' '中出现的字符

${}            变量声明

' ' 与 " " 两者的区别在于 " " 不能转译" \ “,” ` “,” ! “,” $ "

例:

Linux学习笔记------shell脚本中的变量_第18张图片

Linux学习笔记------shell脚本中的变量_第19张图片

Linux学习笔记------shell脚本中的变量_第20张图片

Linux学习笔记------shell脚本中的变量_第21张图片

变量值传递

Linux学习笔记------shell脚本中的变量_第22张图片Linux学习笔记------shell脚本中的变量_第23张图片Linux学习笔记------shell脚本中的变量_第24张图片

编写一个脚本进行实验验证:

Linux学习笔记------shell脚本中的变量_第25张图片

Linux学习笔记------shell脚本中的变量_第26张图片

Linux学习笔记------shell脚本中的变量_第27张图片Linux学习笔记------shell脚本中的变量_第28张图片

Linux学习笔记------shell脚本中的变量_第29张图片Linux学习笔记------shell脚本中的变量_第30张图片

$ @和$ *的区别:Linux学习笔记------shell脚本中的变量_第31张图片

Linux学习笔记------shell脚本中的变量_第32张图片

Linux学习笔记------shell脚本中的变量_第33张图片

Linux学习笔记------shell脚本中的变量_第34张图片Linux学习笔记------shell脚本中的变量_第35张图片Linux学习笔记------shell脚本中的变量_第36张图片

Linux学习笔记------shell脚本中的变量_第37张图片Linux学习笔记------shell脚本中的变量_第38张图片

用 read 实现变量传递

Linux学习笔记------shell脚本中的变量_第39张图片

应用实例:

判断某一主机的网络状态,能否ping通

Linux学习笔记------shell脚本中的变量_第40张图片Linux学习笔记------shell脚本中的变量_第41张图片

Linux学习笔记------shell脚本中的变量_第42张图片-s        加密传递变量

Linux学习笔记------shell脚本中的变量_第43张图片Linux学习笔记------shell脚本中的变量_第44张图片

Linux学习笔记------shell脚本中的变量_第45张图片

Linux学习笔记------shell脚本中的变量_第46张图片

退出值 $?

$?是命令在执行完成之后产生的退出值    范围是【0-255】

退出值为0表示正确,不为0表示错误

Linux学习笔记------shell脚本中的变量_第47张图片Linux学习笔记------shell脚本中的变量_第48张图片Linux学习笔记------shell脚本中的变量_第49张图片

Linux学习笔记------shell脚本中的变量_第50张图片Linux学习笔记------shell脚本中的变量_第51张图片

Linux学习笔记------shell脚本中的变量_第52张图片Linux学习笔记------shell脚本中的变量_第53张图片

指定退出值,exit后面加的数字就是我的退出值

为什么要指定退出值?

因为有可能我脚本执行是正确的,但输出是error,退出值应该显示错误,但如果我不设定退出值,退出值会显示0,与实际情况不符

你可能感兴趣的:(Linux学习笔记------shell脚本中的变量)