linux学习(七)Shell编程中的变量


@(Shell编程)

shell编程的建立

[root@localhost ~]# vi mytest

就建立了一个名叫mytest的文件
vim编辑器没有接触过,你就需要学习一下啊,这里介绍几个简单的命令:

  • 单点I进入插入模式
  • Ctrl+c退出插入模式
  • 在浏览模式按下“:”,再输入q是不保存退出、wq是保存并退出

shell的hello world!

echo 你想要输出的内容

在这里插入图片描述
执行脚本的方法:

sh 你创建的shell脚本的名字
bash 你创建的shell脚本的名字

==打开一个子shell去读取,不需要有执行权限==

或者

source 你创建的shell脚本的名字

==区别:在当前shell内执行、且不需要有执行权限,source可以替换成.==

. 你创建的shell脚本的名字

或者

./你创建的shell脚本的名字

==打开一个子shell,但是需要有执行权限==
在这里插入图片描述

Shell的环境变量

相当于window系统下的环境变量
|环境变量|说明|
|:---:|:---:|
|PATH|指定命令的搜索路径,以冒号为分隔符
|HOME|指定用户的主工作目录
|HISTSIZE|命令历史文件
|LOGNAME|当前的登录名
|HOSTNAME|主机的名称
|SHELL|shell的全路径名
|TERM|用户控制终端的类型
|PWD|当前工作目录的全称
|PS1|命令基本提示符,root用户是“#”,对于普通用户是“"$"
环境变量一般都大写,系统启动以后自动加载,可写的环境变量用户可以随时修改

使用和设置环境变量

在这里插入图片描述
|命令|说明|
|:---:|:---:|
|echo|显示某个环境变量值
|export|设置一个新的环境变量
|env|显示所有环境变量
|set|显示本地定义的Shell变量
|unset|消除环境变量
|readonly|设置只读环境变量
如图设置PI环境变量为3.1415926
在这里插入图片描述
env命令查看
在这里插入图片描述
在这里插入图片描述

Shell的系统变量

Shell的系统变量主要在对参数和命令返回值进行判断时使用,包括脚本和函数的参数,以及脚本和函数的返回值。
常用系统变量
|系统变量|说明|
|:---:|:---:|
|$0|Shell程序名
|$1-$9|第1~9个命令行参数的值
|$*|传递给脚本的所有参数,全部参数合为一个字符串
|$ #|传递给脚本的参数个数
|$ $|当前进程的ID
|$ ?|最后执行一条命令的退出状态,返回值为0则成功,非0则失败
|$ !|在后台运行最后一个进程的ID
命令行参数的个数大于9的个时,可以使用shift指令将参数左移,获取第10个以后的参数。也可以用shift n将所有参数一次性左移n位
在这里插入图片描述
在这里插入图片描述

用户自定义变量

用户自定义变量在Shell脚本中使用,他们拥有临时的存储空间。在程序执行中值可以改变,这些变量可以设置为只读。
在程序中使用变量值的时候,要在变量名前面加一个字符“$"。这个符号告诉Shell要取出变量的值(”==“两边不能有空格)
在这里插入图片描述

上图输出加了$的值为这个变量的值,不加就直接输出了字符串
==当复制给变量含有空格、制表符、或者换行符时,要用双引号把这个字符串引起来==
当然赋值也可以像下图所示:
在这里插入图片描述


作者:dark_Souls,发布于:2019/05/15
原文:https://www.cnblogs.com/lzy321/p/10871903.html