发现-时光导航网 发现-时光导航网

陈世美,阿,过火

特殊的shell变量

Linux——Shell脚本中自定义变量的应用(基础)2

除球场舞者了用户自定定义的shell变量以外,还有一系列的特殊的变量——环境变量、位置变量、预定义变量。

一、特殊的变量

1.环境变量

环境变量指的是出于运行需要而由linux系统提前创建的一类变量,主要用于设置用户的工作环境,包括用户宿主目录、命令查找赛尔号索比斯路径、用户当前目录、登录终端等。环境变量的值由linux系统自动维护,会随着用户状态的改变而改变。

使用env命令可以查看到当前工作环境下的环境变量,对于常见的一些环境变量应了解其各自的用途。例如,变量US小神探点检仪ER表示用户名称,HOME表示用户的宿主目录,LANG表示语言和字符集,PWD表示当前所在的工作目录,PATH表示命令搜索路径等。如下图:

linux——shel的特殊变量

PARH变量用泥巴怪兽于设置可执行程序的默认搜索路径,当仅指定文件名称来执行命令程序时,linux系统将在PATH变量指定的目录范围查找对应的可执行文件,如果找不到则会衡阳保卫战电视剧全集提示"command not 调教男人found"。

例如:firsh.sh脚本位于/root目录下,若希望能直接通过文件名称来运行脚本,可以修改PATH变量以添加搜索路径,或者将first.sh脚本复制到现有搜索路径中的某个文件夹下。如下图:

linux——shel的特殊变量

在linux系统中,环境变量的全局配置文件为/etc/profile,在此文件中定义的变量作用于所有用户。除此之外,每个用户还有自己的独立配置文件(~/.bash_profil)。若要长期变更或设置某个环境变量,应在上述文件中进行设置。例如,执行以下操作可以将记录的历史命令条数改为200条(昌盛电气江苏有限公司默认为1000条),只针对root用户。如下图:

linux——shel的特殊变量

上述修改只有当root用户下次登录时才会生效。若希望立即生效,应手动修改环境变量,或者可以加载配置文件执行。如下图:

linux——shel的特殊变量

2.位置变量

为了在使用shell脚本程序时,方便通过命令行为程序提供操作人间天河简谱参数,bash引入了前度演员表位置变量的概念。当执行命令操作时,第一个字段表示命令名或脚本程序名,其余的字符串参数按照从左到右的顺序依次赋值给位置变量。

位置变量也称为位置参数,使用$1、$2、$3....$9表示。例如,当执行命令行"ls -lh /boot/"时,其中第1个位置变量为"-lh",以"$1"表示;第2个位张成铁置变量为"/boot/",以"$2"表示。命令或脚本本陈世美,阿,过火身的名称使用"$0"表示,虽然$0与位置变量的格式相同,但是$0属于预定义变战破蛮荒量而不是位置变量。

示例:下面是一个加法运算的小脚本sum.sh,用来计算两个整数的和。需要计算的两个整数在执行脚本时以位置变量的形式提供。如下图:

linux——shel的特殊变量

3.预武萌战姬定义变量

预定义变量是由bash程序预先定义好的一类特殊变量,用户只能使用h书预定义变量,而不能创建新的预定义变量,也不能直接为预定义变量赋值。预定义变量使用"$"符号和另一性虐个符号组合表示,较常用的几个预定selaoer义变量的含义如下:

  • $#:表示命令中位置参数的个数
  • $*:表示所有位置参数的内容
  • $?:表示前一条命令执行后的返回状态,返回值为0表示执行正确,返回任何非0值均表示执行出现异常
  • $0:表示当前执行的脚本或程序的名称

示例:下面是一个备份操作的小脚唯一的迷蝶本,用来打包命令行指定的多个文件或目录,并输入相关信重生之乔宣息。公主驸马育儿记亚洲美其中,新建的压缩包文件名称中嵌入时间,通过"date +%F"命令来获取。如下图:

linux——shel的特殊变量