专业编程基础技术教程

网站首页 > 基础教程 正文

Linux编程Shell之入门——Shell变量的定义、赋值和删除

ccvgpt 2024-08-19 12:27:54 基础教程 11 ℃

变量是任何一种编程语言都必不可少的组成部分,变量用来存放各种数据。脚本语言在定义变量时通常不需要指明类型,直接赋值就可以,Shell 变量也遵循这个规则。

在 Bash shell 中,每一个变量的值都是字符串,无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储。

这意味着,Bash shell 在默认情况下不会区分变量类型,即使你将整数和小数赋值给变量,它们也会被视为字符串,这一点和大部分的编程语言不同。例如在C语言或者
C++ 中,变量分为整数、小数、字符串、布尔等多种类型。

定义变量

Shell 支持以下三种定义变量的方式:

Linux编程Shell之入门——Shell变量的定义、赋值和删除

variable=value
variable='value'
variable="value"

Shell 变量的命名规范和大部分编程语言都一样:

  • 变量名由数字、字母、下划线组成;
  • 必须以字母或者下划线开头;
  • 不能使用 Shell 里的关键字(通过 help 命令可以查看保留关键字)。

使用变量

使用一个定义过的变量,只要在变量名前面加美元符号$即可,如:

user="abc"
echo $user
echo ${user}

变量名外面的花括号{ }是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界,比如下面这种情况:

skill="Java"
echo "I am good at ${skill}Script"

如果不给 skill 变量加花括号,写成echo "I am good at $skillScript",解释器就会把 $skillScript 当成一个变量(其值为空),代码执行结果就不是我们期望的样子了。

赋值变量

在 Shell 中,可以使用以下语法给已经定义的变量赋值:

variable_name=new_value

例如,将名为 my_var 的变量的值从 hello 修改为 world 可以执行以下命令:

my_var=world

需要注意的是,在进行赋值操作时,变量名同样不需要使用 $ 符号。

删除变量

在 Shell 中,可以使用以下语法删除已经定义的变量:

unset variable_name

例如,删除名为 my_var 的变量可以执行以下命令:

unset my_var

需要注意的是,删除变量时不需要在变量名前面加上 $ 符号。

Tags:

最近发表
标签列表