Linux shell编程学习笔记5:变量命名规则、变量类型、使用变量时要注意的事项-CSDN博客

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

跟其他的高级开发语言一样Linux Shell编程中使用的数据也需要保存在变量中。

Shell使用变量来控制其行为并且可以通过更改变量值来更改Shell和其他程序的行为。

我们先来了解一下变量命令的规则、变量类型和使用变量时要注意的事项。

一、变量命名规则

Linux Shell编程中使用的变量其命名必须遵循如下这些规则

1.变量名只能使用英文字母数字和下划线且不能以数字开头。
2.变量名不能有空格。
3.变量名不能使用标点符号。
4.不能使用shell里的关键字可用help命令查看保留关键字。

按照上面的规则变量名ab8_、a_b8、_ab8都是合格的变量名而8ab_是不合格的变量名。

二、变量的类型

运行shell脚本时会同时存在三种变量

一环境变量

环境变量是在整个系统范围内可用的变量并由所有衍生的子进程和外壳程序继承。所有的程序包括shell启动的程序都能访问环境变量有些程序需要环境变量来保证其正常运行。

必要的时候shell脚本也可以定义环境变量。

按照约定环境变量应具有大写名称。

例如我们在之前使用过的变量SHELL。 

二局部变量

局部变量在脚本或命令中定义仅在当前shell实例中有效其他shell启动的程序不能访问局部变量。

三shell变量

shell变量是由shell的特殊变量。shell变量中有一部分是环境变量有一部分是局部变量这些变量保证了shell的正常运行。


三、使用变量时要注意的事项


一shell中使用变量前通常不需要事先为变量作出声明只是在使用变量时通常是赋初始值时来创建它们。

例如

user@host: ~ # var1=1
user@host: ~ # echo $var1
1

其中

var1=1 是声明变量var1并初始化其值为1

echo $var1 是显示变理var1的值。


二在给变量赋值时变量名和赋值号=之间不能有空格。

例如

user@host: ~ # var2 = 2
未找到 'var2' 命令您要输入的是否是
 命令 'par2' 来自于包 'par2' (universe)
var2未找到命令

由于 var2 = 2 中的赋值号=前后有空格因此对shell来说这条命令的功能并不是声明变量var2并初始化其值为2。

三Linux是一个区分大小写的系统所以Shell中的变量名称区也分大小写比如var1、Var1与 VAR1是三个不同的变量名。

user@host: ~ # var1=1
user@host: ~ # echo $var1
1
user@host: ~ # echo $Var1

user@host: ~ # echo $VAR1

user@host: ~ # 
 

在上面的例子中我们声明了变量var1并初始化其值为1并没有声明变量Var1、VAR1和赋值所以 echo $Var1 和  echo $VAR1没有显示他们的值。

四、 shell里的关键字

为了方便我们定义变量我们还需要了解shell里的关键字。

查询shell里的关键字的方法有很多。例如我们可以使用命令 compgen -k 来查看shell的关键字

user@host: ~ # compgen -k
if
then
else
elif
fi
case
esac
for
select
while
until
do
done
in
function
time
{
}
!
[[
]]
coproc
user@host: ~ # 

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: shelllinux

“Linux shell编程学习笔记5:变量命名规则、变量类型、使用变量时要注意的事项-CSDN博客” 的相关文章