shell系统给定变量大全——及使用方法

2023-10-11 10:22:27 浏览数 (1)

注:以下内容应用与【*.sh】文件

系统给定的变量

在Shell编程中,系统给定的变量(也称为预定义变量)是由系统预设的,用于提供有关脚本运行的环境和状态的信息。这些变量通常不需要用户定义或修改,可以直接在脚本中使用。

变量名

作用

$0

当前脚本的名字

$n

传递给脚本或者函数的参数,n表示第几个参数

$#

传递给脚本或函数的参数个数

$*

传递给脚本或函数的所有参数

$@

传递给脚本或者函数的所有参数

$$

当前shell脚本进程的PID

$?

函数返回值,或者上个命令的退出状态

$BASH

BASH的二进制文件问的路径

$BASH_ENV

BASH的启动文件

$BASH_VERSINFO[n]

BASH版本信息,有六个元素

$BASH_VERSION

BASH版本号

$EDITOR

脚本所调用的默认编辑器

$EUID

当前有效的用户ID

$FUNCNAME

当前函数名

$GROUPS

当前用户所属组

$HOME

当前用户家目录

$HOSTTYPE

主机类型

$LINENO

当前行号

$OSTYPE

操作系统类型

$PATH

PATH路径

$PPID

当前shell进程的父进程ID

$PWD

当前工作目录

$SECONDS

当前脚本运行秒数

$TMOUT

不为0时,超过指定的秒将退出shell

$UID

当前用户ID

使用方法:

编辑脚本文件。

 vi test.sh

测试内容:

代码语言:javascript复制
echo "文件名:$0"
echo "第一个参数:$1"
echo "第三个参数:$3"
echo "共计传递了:$#个参数"
echo "传递的所有参数:$*"
echo "传递给函数的参数:$@"
echo "当前脚本的进程ID:$$"
echo "二进制文件路径:$BASH"
echo "BASH的启动文件:$BASH_ENV"
echo "BASH的版本号6个元素:$BASH_VERSINFO"
echo "BASH的版本号:$BASH_VERSION"
echo "脚本使用的默认编辑器:$EDITOR"
echo "当前的用户ID(有效):$EUID"
echo "当前的用户ID:$UID"
echo "用户HOME目录:$HOME"
echo "主机类型:$HOSTTYPE"
echo "操作系统类型:$OSTYPE"
echo "PATH路径:$PATH"
echo "当前工作目录:$PWD"
echo "当前脚本运行秒数:$SECONDS"

测试结果:

这里注意以下BASH的版本号6个元素,显示的是5,是0,1,2,3,4,5共计六个元素。

很多的时候我们需要进行一定的系统判断以及权限判断,故而需要这些默认的内容,用起来还是很方便的。

0 人点赞