Variable

自定义变量

变量名的命名规则

  • 字母、数字、下划线

  • 不以数字开头

变量的赋值

  • 变量名=变量值

    • a=123

  • 使用let为变量赋值

    • let a=10+20

  • 将命令赋值给变量

    • l=ls

  • 将命令结果赋值给变量,使用$( ) 或者 ` `

    • lsetc=$(ls -l /etc)

  • 变量值有空格等特殊字符可以包含在 " " 或 ' ' 中

  • = 两边不能有空格

demo

cmd1=`ls -l /root`

cmd2=$(ls -l /root)

str1="I'm Will"

str2='I am "Good" Will'

str3="I'm \"Good\" Will"

变量的引用

  • ${变量名} # 称为对变量的引用

  • echo ${变量名} # 查看变量的值

  • ${变量名} 在部分情况下可省略为 $变量名

系统环境变量

环境变量:每个shell打开都可以获得到的变量

env

# 查看当前所有环境变量

常见 bash 环境变量

Name
Description

USER

登录用户的名称

UID

登录用户的用户 ID 数字

HOME

用户的主目录

PWD

当前工作目录

SHELL

shell 的名称

PPID

父进程的 PID —启动此进程的进程的进程 ID

PATH

命令的搜索路径

# Tips: 将/root添加为命令搜索路径(修改PATH的值)

PATH=$PATH:/root

预定义变量

Name
Description

$$

(运行的 bash shell [ 或其他 ] 进程)的进程 ID(或 PID)

$?

上一个命令的退出代码(查看上一条命令是否正确执行)

$0

shell 或 shell 脚本的名称(当前进程名称)

$!

上一个在后台工作的进程的进程号

$_

上一个执行的命令或脚本的最后一个参数

$*

所有参数视为一个整体字符串

$@

所有参数视为单独的字符串

位置变量

$1 ... ${10}

# 位置变量$1-$10


$#

# 位置变量的个数

Last updated