shell脚本学习01_shell变量

1、前言

记录一下shell脚本的基础知识点,方便自己日后回顾,也可以给有需要的人提供帮助。每个目录都是知识点,大家可以按照目录逐步浏览,也可以点击目录跳转到所需部分。

2、shell变量

2.1 什么是shell变量

shell 变量是用于存储数据的容器

2.2 定义shell变量(等号两侧不能有空格)

shell_name="var"				# 普通变量
export GLOBAL_VAR="global"		# 环境变量(子进程可访问)

2.3 shell变量使用

echo $shell_name 		# 直接引用
echo "${shell_name}"	# 推荐写法(避免歧义)

2.4 shell变量命名规则

1. 只包含字母、数字和下划线: 变量名可以包含字母(大小写敏感)、数字和下划线 _,不能包含其他特殊字符;

2. 不能以数字开头: 变量名不能以数字开头,但可以包含数字;

3. 避免使用 Shell 关键字: 不要使用Shell的关键字(例如 if、then、else、fi、for、while 等)作为变量名,以免引起混淆;

4. 使用大写字母表示常量: 习惯上,常量的变量名通常使用大写字母,例如 PI=3.14;

5. 避免使用特殊符号: 尽量避免在变量名中使用特殊符号,因为它们可能与 Shell 的语法产生冲突;

6. 避免使用空格: 变量名中不应该包含空格,因为空格通常用于分隔命令和参数。

2.5 变量类型

2.5.1 环境变量(全局变量)

全局生效的变量,可被当前 Shell 及其子进程(如子 Shell、脚本)访问。

2.5.2 局部变量

生效范围为当前shell进程。对当前shell之外的其它shell进程,包括当前shell的子shell进程均无效。

2.5.3 特殊变量

$0当前脚本名称
$n脚本或函数的前9个参数
$#传递给脚本或函数的参数个数
$@所有参数列表(每个参数独立)
$*所有参数合并为一个字符串(用空格分隔)
$?上一条命令的退出状态(0=成功,非0=失败)
$$当前 Shell 进程的 PID
$!最后一个后台进程的 PID
$_上一个命令的最后一个参数

$@ vs $* 的区别

$@:保持参数独立性,等价于 "$1" "$2" ... "$n"。

$*:合并所有参数为一个字符串,等价于 "$1 $2 ... $n"。

2.5.4 只读变量

使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。
readonly myUrl

2.6增删查改

2.6.1 增加变量

name=叶子
echo $name

在这里插入图片描述

2.6.2删除变量

unset name
echo $name

在这里插入图片描述

2.6.3 查找变量

set

在这里插入图片描述

加管道符查找
set | grep bash

在这里插入图片描述

2.6.4 改变变量

第一种写法
name=叶子12
echo $name

在这里插入图片描述

第二种写法
name=${name}34
echo $name

在这里插入图片描述

2.7 交互式变量

read -p "请输入变量名:" var
请输入变量名:叶子
echo $var 

在这里插入图片描述

3、总结

以上就是shell变量的一些基础知识了,浏览过程中,如若发现错误,欢迎大家指正,有

问题的欢迎评论区留言或者私信。最后,如果大家觉得有所帮助,可以点一下赞,谢谢

大家!祝大家天天开心,顺遂无虞!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值