专业编程基础技术教程

网站首页 > 基础教程 正文

Linux入门系列——Bash变量 linux中使用bash是什么意思

ccvgpt 2024-10-12 14:07:53 基础教程 8 ℃

Bash变量的分类

本地变量

作用范围仅对当前的bash进程有效,对其父子进程都不生效。在本地变量中,还有一种叫作局部变量,仅在运行的shell脚本或函数中有效。

Linux入门系列——Bash变量 linux中使用bash是什么意思

环境变量

作用范围是当前shell及其子shell。可以使用 export或declare -x来声明一个环境变量。

位置变量

当传递给脚本、函数有参数时,在脚本、函数内部就可以使用位置变量来引用。比如:$1, $2, $3 .... $9, ${10}。当参数的个数大于9时,需要使用{}将数字括起来。

特殊变量

bash内部预定义的一些特殊的变量。

  • $? 程序或命令的返回值,0表示成功,否则为失败;范围是0到255,其中0~127是系统使用,自己写的程序可以使用128~255
  • $0 表示当前运行的进程的名称
  • $ 表示当前进程的PID
  • $# 表示位置参数的个数
  • $@ 表示脚本或函数的所有参数,以"$1", "$2", ... "${n}"的形式展示。也就是把每个位置参数看成是单个的整体。
  • $* 表示脚本或函数的所有参数,以"$1,$2,$3...$n"的形式展示,也就是把所有的参数看成一个整体。
  • !$ 表示上一个命令的最后一个参数。这个在日常工作中用得比较多。比如:cd !$

变量的操作

  • 定义变量

变量就是一段命名的内存空间,变量名称只能包含字母数字、和下划线。由于BASH自带的环境变量都是大写的字母,所在自定义变量时可以采用首字母大写来避免覆盖掉系统的环境变量。

a=3 声明并赋值一个局部变量a,注意:"="两边没有空格;

export a b=4 将变量a导出为环境变量,同时又声明了一个环境变量b,它的值为4

declare -i m 声明一个int类型的变量m

declare -a n 声明一个数组类型的变量n

declare -r c 声明一个只读变量c,不可以重新赋值,也不可以unset。

declare -x D 声明一个环境变量D

  • 引用变量

使用 $var ${var} 来引用变量,那么什么时间要加{}呢?就是在无法确定变量名的范围时需要加,比如:在abcde中abc这个位置需要使用一个变量来替换,那么在引用变量的时候就必须加上{},即:${var}de

在引用变量时还需要注意,单引号(')双引号(“)反引号(`)的区别。

单引号:表示强引用,在单引号内部是不能使用$来引用bash变量的。

双引号:表示弱引用,在双引号内可以使用$来引用bash变量。

反引号:表示命令替换,就是把反引号内部命令的执行结果替换在当前位置,相当于$(command)

  • 取消变量

想要取消一个变量,可以使用unset var,注意在取消变量的时候是不需要加$符的

Tags:

最近发表
标签列表