zl程序教程

您现在的位置是:首页 >  系统

当前栏目

Linux ——变量

2023-06-13 09:18:16 时间

变量:环境变量、状态变量、位置参数变量、自定义变量,调用变量时,要在变量前面加一个 $ 符号

echo ①打印字符串 ②打印变量的值,变量调用要加 $

环境变量:用于存储有关shell会话和工作环境的系统变量

状态变量:用于记录命令的运行结果

位置参数变量:用于向命令或程序脚本中传递信息

1 自定义变量:由用户自行定义的变量,可用于用户编写的脚本,多个命令间的值传递等(注意:=前后不要有空格)
a=gene
echo a
echo $a
echo 'this is a $a'   #''里面的变量不会被解释
echo "this is a $a"   # “”里面的变量被解释
2 环境变量:用于存储有关shell会话和工作环境的系统变量

常见环境变量:

(1) $HOME:当前用户的主目录

(2) $PATH:shell查找命令的目录列表,由冒号(:)分隔。

输入命令时Linux会去查找PATH里面记录的路径,如果命令存在某一个路径中,就可以成功调用。

使用的常见的命令都在提供的路径中,这些路径就保存在PATH变量中。

echo $PATH | tr ':' '\n'

(3) $SHELL:bash shell的全路径名

(4) $LOGNAME:当前用户的登录名

(5) $PS1: shell命令行界面的主提示符

3 状态变量:用于记录命令的运行结果

$? 作用:获取执行上一个指令的执行状态返回值,返回0表示上一个命令或者程序执行成功,返回的值为非0则表示上一个命令执行失败。

$$ 作用:获取当前执行的shell脚本的进程号PID。

$! 作用: 获取上一个后台工作的进程的进程号PID。

$_ 作用:获取在此之前执行的命令或脚本的最后一个参数。

4 位置参数变量:用于向命令或程序脚本中传递信息

$n 作用:n为数字,$0 代表命令本身,$1~$9 代表第1~9个参数,10以上的参数需要用大括号包含, 如${10}

$* 作用:这个变量代表命令行中所有的参数,把所有的参数看成一个整体

$@ 作用:这个变量也代表命令行中所有的参数,不过 $@ 把每个参数区别对待

$# 作用:这个变量代表命令行中所有参数的个数