Linux(9)Bash变量

一 用户自定义变量

1.1 用户自定义变量

在这里插入图片描述

1.2 变量设置规则

在这里插入图片描述

  • 对比java命名规则:
    变量名以字母、下划线或者$开头,不能以数字开头,后面跟字母、下划线、美元符、数字,变量名对大小写敏感,无长度限制

  • 默认字符类型也是字符串类型,和一般编程语言不一样
    在这里插入图片描述
    在这里插入图片描述

实践

[root@zhuyc ~]# name=zyc
[root@zhuyc ~]# echo name
name
[root@zhuyc ~]# echo $name
zyc
[root@zhuyc ~]# 

1.3 变量分类

在这里插入图片描述
从实质上说:位置参数变量是预定义变量中的一种

1.4 本地变量

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

二 环境变量

2.1 定义

在这里插入图片描述
对比自定义变量
自定义变量只在当前shell中有效

查看所在哪个shell
我们在命令行敲bash就是进入了子shell,查看所在哪个shell,用pstree

2.2 设置环境变量

在这里插入图片描述
export的效力仅限于该次登陆操作

2.3 常见环境变量

PATH

冒号分隔
在这里插入图片描述
也就是前一篇位置别名小节中的第四顺序

PS1

严格来说:PS1不是环境变量,env命令看不到;只能用set命令看到
在这里插入图片描述
上面什么意思呢?

[root@zhuyc ~]# echo $PS1
[\u@\h \W]\$
[root@zhuyc ~]# 
#一一对应

三 位置参数变量

在这里插入图片描述

实践

[root@zhuyc ~]# cd sh
[root@zhuyc sh]# vim param1.sh
[root@zhuyc sh]# chmod param1.sh 755
chmod: invalid mode: ‘param1.sh’
Try 'chmod --help' for more information.
[root@zhuyc sh]# chmod  755 param1.sh 

##脚本##
#!/bin/bash
echo $0
echo $1
echo $2
echo $4



*和#的区别

[root@zhuyc sh]# cat param2.sh SH
#!/bin/bash

for i in "$*"
	do
		echo $i

	done

for t in "$@"
	do
		echo	$t
	done
cat: SH: No such file or directory
[root@zhuyc sh]# ./param2.sh

[root@zhuyc sh]# ./param2.sh 12 23 435 56
12 23 435 56
12
23
435
56
[root@zhuyc sh]#

四 预定义变量

在这里插入图片描述

4.1 实践

在这里插入图片描述

4.2 接收键盘输入-read

在这里插入图片描述

五 运算符

5.1声明变量类型

在这里插入图片描述

5.2 数值运算

方法1

[root@zhuyc sh]# aa=1
[root@zhuyc sh]# bb=2
[root@zhuyc sh]# declare -i cc1=$aa+$bb
[root@zhuyc sh]# echo $cc1
3

方法2

在这里插入图片描述

方法3

在这里插入图片描述

5.3 运算符

在这里插入图片描述
越大优先级越高

5.4 变量测试和替换

在这里插入图片描述

六 环境变量配置文件

6.1 简介

环境变量如果不写到文件中,那么只在本次连接中有效

source命令

让配置文件直接生效,不用重新登陆
在这里插入图片描述

常用的环境变量配置文件

大体有下面5类
在这里插入图片描述

带~表示每个用户独有的环境变量

读取配置文件的顺序

Linux登陆方式有login shell和non-login shell两种

在这里插入图片描述

6.2 其他配置文件

注销时生效的

在这里插入图片描述

历史命令

在这里插入图片描述

shell登陆信息

这个只对本地登陆生效
在这里插入图片描述
在这里插入图片描述

发布了82 篇原创文章 · 获赞 1 · 访问量 1985

猜你喜欢

转载自blog.csdn.net/m0_38060977/article/details/103019897