shell脚本变量

网友投稿 273 2022-11-05

shell脚本变量

@[toc]

一、shell脚本变量

1.变量介绍

2.变量的作用

用来存放系统和用户需要使用的特定参数(值) 变量名:使用固定的名称,由系统预设或用户定义 变量值:能够根据用户设置、系统环境的变化而变化

3.变量的命名要求

4.变量的分类

==自定义变量==:由用户自己定义、修改和使用 ==环境变量==:由系统维护,用于设置工作环境 ==只读变量==:用于变量值不允许被修改的情况 ==位置变量==:通过命令行给脚本程序传递参数 ==预定义变量==:bash中内置的一类变量,不能直接修改

系统内置变量:PATH、UID、HOSTNAME、USER

二、自定义变量

1.定义变量

2.查看变量的值

3.取消变量

5.赋值时使用引号

6.read命令获取输入内容

7.变量作用范围

默认情况下,新定义的变量只在当前的Shell环境中有效,因此称为局部变量。当进入子程序或新的子Shell环境时,局部变量将无法再使用。 可以通过内部命令export将指定的变量导出为全局变量,使用户定义的变量在所有的子Shell环境中能够继续使用。==格式1:export 变量名====格式2:export 变量名=变量值== 可以使用 pstree 命令查看Shell环境,输入 bash 命令进入子Shell环境,按Ctrl+D组合键或输入 exit 命令退出子Shell环境。

8.整数变量的运算

![image.png](https://s2./images/20211209/1638981485796697.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) # 三、环境变量 Shell在开始执行的时候就已经定义了一些与系统工作环境有关的变量,用户还可以重新定义这些变量。 常用的shell环境变量有以下几种: 1)HOME:用于保存用户主目录的完全路径名。 2)PATH:用于保存用冒号分隔的目录路径名,shell将按PATH变量中给出的顺序搜索这些目录,找到的第一个与命令名称一致的可执行文件将被执行。 3)SHELL:当前用户使用的Shell 4)UID:当前用户的UID 5)LOGNAME:当前用户的登录名 6)HOSTNAME:主机名称 ![image.png](https://s2./images/20211209/1638982142718268.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) # 四、只读变量 ==只读变量的值不能被更改,不能取消,想要取消只能,重新启动当前机器== ![image.png](https://s2./images/20211209/1638982316571981.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) # 五、位置变量 - 当执行命令行操作时,第一个字段表示命令名或脚本程序名,其余的字符串参数按照从左到右的顺序依次赋值给位置变量。 - $n:n为数字,$0代表命令本身,1~9代表第一个到第九个参数,十以上的参数需要使用大括号表示,比如第十个参数为 ${10}。 ![image.png](https://s2./images/20211209/1638982622664159.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) ![image.png](https://s2./images/20211209/1638982727312144.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) # 六、预定义变量 ```html/xml $*、$@:表示命令或脚本要处理的参数。 "$*":把所有参数看成以空格分隔的一个字符串整体,代表"$1 $2 $3 $4"。 "$@:"把各个参数加上双引号分隔成n份的参数列表,每个参数是独立 的,代表"$1" "$2" "$3" "$4"。 $0:表示当前执行的脚本或命令的名称。 $#:表示命令或脚本要处理的参数的个数。 $?:表示前一条命令或脚本执行后的返回状态码,返回值为0表示执行正确,返回任何非0值均表示执行出现异常。

==$* 和 $@==

实例

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java实现学生信息管理系统(使用数据库)
下一篇:MAX9621 双通道、2线霍尔传感器接口,提供模拟和数字输
相关文章

 发表评论

暂时没有评论,来抢沙发吧~