上一章Linux
shell编程请查看:shell脚本介绍及其操作
在本章中我们将学习如何在Unix
shell编程中使用Shell变量。变量是我们赋值的字符串,赋值可以是数字、文本、文件名、设备或任何其他类型的数据。变量只不过是一个指向实际数据的指针,shell允许你创建、分配和删除变量。
1、变量名变量名只能包含字母(a到z或a到z)、数字(0到9)或下划线(_),按照惯例Unix shell变量的名称是大写的,下面的例子是有效的变量名:
MY_VAR
_VAR1
TOKEN_VAR2
下面是无效变量名的示例:
2_VAR
-VARIABLE
VAR1-VAR2
VAR_A!
不能使用其他字符(如!、*或-)的原因是这些字符对于shell有特殊的含义。
2、定义变量Linux shell变量定义如下:
variable_name=variable_value
【Linux shell编程(基本shell变量的定义和使用介绍)】例如:
VAR_NAME = "sample"
上面的例子定义了变量名VAR_NAME,并将值“sample”赋给它。这种类型的变量称为标量变量,标量变量一次只能容纳一个值,Shell允许你在变量中存储任何值例如:
STR_VAR = "string"
NUMBER = 158
3、访问变量要访问存储在变量中的值,需要在变量名前面加上美元符号($),下面的脚本将访问定义的变量名的值并在STDOUT上打印它:
#!/bin/shNAME="Espanol"
echo $NAME
4、只读变量Shell通过使用只读命令将变量标记为只读。变量被标记为只读后,其值不能更改。例如下面的脚本在试图更改NAME的值时生成错误:
#!/bin/shNAME="Butterfly"
readonly NAME
NAME="Beatle"
上面的脚本将生成以下结果:
/bin/sh: NAME: This variable is read only.
5、取消或删除变量取消或删除变量将指示shell从其跟踪的变量列表中删除该变量。取消变量后就不能访问变量中的存储值,下面是使用unset命令取消已定义变量的语法:
unset variable_name
上面的命令取消已定义变量的值,下面是一个演示命令如何工作的简单示例:
#!/bin/shNAME="Peppa"
unset NAME
echo $NAME
上面的示例没有打印任何内容,另外注意不能使用unset命令取消标记为只读的变量。
6、变量类型当shell运行时有三种主要的变量类型:
- 局部变量——局部变量是当前shell实例中的变量,它不能用于由shell启动的程序,它们是在命令提示符处设置的。
- 环境变量——shell的任何子进程都可以使用环境变量。有些程序需要环境变量才能正常运行,通常shell脚本只定义它所运行的程序需要的那些环境变量。
- Shell变量—Shell变量是由Shell设置的特殊变量,Shell需要它才能正常工作,其中这些变量有些是环境变量有些是局部变量。
推荐阅读
- Linux shell编程(shell特殊变量完全介绍和使用教程)
- Linux shell编程之(什么是shell(shell脚本介绍及其操作))
- Unix和Linux信号捕获处理介绍及其相关操作教程
- Unix和Linux系统日志介绍和详细操作教程
- 贝塞斯达戏弄“最大的发动机大修”,托德·霍华德(Todd Howard)变得非常糊涂
- 凯纳(Kena)幕后花絮(精神之桥的和谐合作)
- 赠品(复仇者联盟:无限战争蓝光[关闭])
- 刺客信条瓦尔哈拉的发售后计划包括免费(收费)其他内容
- 杀手2(对于专业刽子手来说,这是一项值得投资的项目)