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

举报
红目香薰 发表于 2023/11/01 16:12:11 2023/11/01
【摘要】 ​ 注:以下内容应用与【*.sh】文件系统给定的变量在Shell编程中,系统给定的变量(也称为预定义变量)是由系统预设的,用于提供有关脚本运行的环境和状态的信息。这些变量通常不需要用户定义或修改,可以直接在脚本中使用。变量名作用$0 当前脚本的名字$n传递给脚本或者函数的参数,n表示第几个参数$#传递给脚本或函数的参数个数$*传递给脚本或函数的所有参数$@传递给脚本或者函数的所有参数$$当前...

 注:以下内容应用与【*.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

测试内容:

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共计六个元素。

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



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。