Linux中的Shell变量

编程 · 05-16 · 338 人浏览

在Linux中,有三种类型的Shell变量,包括:

  • 环境变量
  • 本地变量
  • 特殊变量

变量名命名规范:

  • 环境变量一般全部大写,单词和单词之间采用下划线分割:JAVA_HOME
  • 本地变量一般小写

环境变量

环境变量是在Shell会话外设置的,可由多个脚本和进程共享。在Linux中,环境变量没有固定值,而是在需要时通过脚本或命令进行设置或更新,系统环境变量一般在/etc/profile文件中设置。

查看当前所有环境变量:printenvenv

设置一个新环境变量,使用export命令,例如:export MY_VAR="Hello World"。要使用环境变量,必须在变量名称前加上$符号,例如:echo $MY_VAR

本地变量

本地变量是一种临时变量,在Shell会话中设置和使用。与环境变量不同,本地变量仅限于当前Shell会话,不会被其他脚本或命令使用。

设置本地变量可以使用“=”号操作符,例如:MY_VAR="Hello World"。类似于环境变量,在使用本地变量时,变量名称前必须加上$符号。例如:echo $MY_VAR

特殊变量

特殊变量是在Shell中预定义的变量名称,具有特殊含义。这些变量与当前Shell会话有关,可用于许多不同用途,包括文件和目录操作、命令历史记录和处理脚本参数等等。以下是常见的一些特殊变量:

  • $0:当前脚本文件名
  • $1, $2...:脚本参数列表中第1个、第2个参数等等
  • $#:脚本参数数量
  • $*:所有脚本参数列表(将所有参数作为一个字符串:"a b c d")
  • $@: 所有脚本参数列表(将每个参数作为一个独立字符串:"a" "b" "c" "d")
  • $$: 当前脚本进程ID号
  • $?: 上一个命令退出状态,一个数值,0表示成功,其他值表示失败
Linux
Theme Jasmine by Kent Liao