Unix 简明教程
Unix / Linux - Using Shell Variables
在本章中,我们将学习如何在 Unix 中使用 Shell 变量。变量是一个字符字符串,我们为其分配一个值。分配的值可以是数字、文本、文件名、设备或任何其他类型的数据。
变量不过是实际数据的指针。shell 允许你创建、分配和删除变量。
Variable Names
变量的名称只能包含字母(a 到 z 或 A 到 Z)、数字(0 到 9)或下划线字符(_)。
根据惯例,Unix shell 变量的名称使用大写。
以下示例是有效的变量名称 −
_ALI
TOKEN_A
VAR_1
VAR_2
以下是无效变量名称的示例 −
2_VAR
-VARIABLE
VAR1-VAR2
VAR_A!
你无法使用 ! 、 * 或 - 等其他字符的原因是,这些字符对 shell 具有特殊含义。
Defining Variables
变量的定义如下 −
variable_name=variable_value
例如 -
NAME="Zara Ali"
以上示例定义了变量 NAME 并为其分配值 "Zara Ali"。此类型的变量称为 scalar variables 。标量变量一次只能保存一个值。
Shell 允许你将任何值存储在变量中。例如 −
VAR1="Zara Ali"
VAR2=100
Accessing Values
要访问存储在变量中的值,请在其名称前加上美元符号 ( $ ) −
例如,以下脚本将访问定义的变量 NAME 的值并将其打印到 STDOUT −
#!/bin/sh
NAME="Zara Ali"
echo $NAME
以上脚本将生成以下值 −
Zara Ali
Read-only Variables
Shell 通过使用只读命令提供了一种将变量标记为只读的方法。变量标记为只读后,其值无法更改。
例如,以下脚本在尝试更改 NAME 的值时生成错误 −
#!/bin/sh
NAME="Zara Ali"
readonly NAME
NAME="Qadiri"
上述脚本会生成以下结果 -
/bin/sh: NAME: This variable is read only.