26 Linux——shell基础之Bash的变量

用户自定义变量(最通用变量)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

环境变量有一部分和系统名相关的变量名不能改,内容可以改。允许建新的环境变量。

位置参数变量是预定义变量的一种,只是因为其较多,所以单独拿出来做一种

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

环境变量

在这里插入图片描述

在这里插入图片描述

export的意思就是把这个变量声明为全局变量,让shell当中所有子shell都可以查看的环境变量。

可以在父shell当中申请子shell,如下图,当然可以是cshell,也可以是bash shell都可以。

在这里插入图片描述

**pstree命令的作用是确认进程数,如下图,看其倒数第三行pstree左边的bash就是当前操作的子shell,再前面那个bash就是最开始进来的那个shell,即前一个shell的父shell,再前面的ssh服务是由于远程工具连接。 **

在这里插入图片描述

如下图exit以后子shell消失了。

在这里插入图片描述

在这里插入图片描述

如果想把已经定义好的变量声明为全局变量直接在前面加export就行,如下图。

在这里插入图片描述
任何变量在变量名前加$都能调用

在这里插入图片描述

环境变量用的更多的是系统自带的环境变量,也就是上图env看到的环境变量

在这里插入图片描述

如上图第一个命令PATH是用冒号分隔的一个个路径,为什么像ls这样的命令不需要路径就能执行?就是因为上图PATH环境变量的作用。当你敲一个命令,系统会现在第一个路径当中找,找不到再找第二个路径,直到找完还找不到就会报错,如下图tab键的补全其实也是在靠PATH的搜索命令。

在这里插入图片描述

所以如果想要不用路径就直接执行就要像下图一样直接拷贝到PATH的路径下。

在这里插入图片描述
我们一般不习惯把自己写的脚本直接拷贝到系统搜索目录当中,很容易把自己搞晕。更习惯用上张PPT第二个命令,变量叠加的方式把自己的路径加进来如下图,当然这种是临时生效,一旦重启就会消失,想永久生效只能写入对应的配置文件,这些配置文件内容在后面。

在这里插入图片描述

严格来说PS1不是环境变量,env找不到,只有set能找到,PS1虽然不是环境变量,但是它是系统预留专门用作定义系统操作环境的变量。
在这里插入图片描述

在这里插入图片描述
注意$要和后单引号隔一个空格,不然标识符会紧贴着要输入的命令
在这里插入图片描述

上图这些修改同样是临时生效,因为没有写入配置文件。

要改成默认就如下图

在这里插入图片描述

位置参数变量

在这里插入图片描述

位置参数变量的名称是固定的,作用也是固定的,我们能做的事情只是在里面传入不同的值

在这里插入图片描述
在这里插入图片描述

用位置参数变量最主要的目的就是像上图和上上图一样,通过人为地写参数向脚本当中传递我需要的数值。

下图为例,一个简单的加法计算器,注意,要想进行数值运算,必须像sum那一行一样$后加双括号才能进行运算,这是Linux shell的标准格式。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

位置参数变量最大的目的就是向程序当中传递我们需要的值,但是位置参数变量有一个问题,除非这个脚本是你写的,否则根本不会清楚在脚本后面要跟几个参数。在实际中用其他的方式来接受用户的键盘输入,它的好处就是可以在命令结束的同时结束脚本

预定义变量

在这里插入图片描述

在这里插入图片描述

像逻辑运算符&&,||归根结底就是判断前面一个命令的$?是否为0

那为什么要有$?,是为了让计算机判断上一条命令是否正确执行。

在这里插入图片描述

如上图find那一行,&符代表后台执行,就是最小化。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

上图的-p-t是只要写read就必须写的选项。

输入一般用上图,更直观,而不是用$1,$2这些变量,只有shell脚本的编写者才知道输入什么。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值