Bash常见的变量

25个常见Linux bash脚本示例:从变量循环到自动化运维实战 在Linux系统管理与运维工作中,Shell脚本是连接人工操作与自动化执行的桥梁。bash作为最主流的Shell解释器,其语法核心围绕变量赋值、位置参数、条件判断、循环遍历等基础概念展开。理解这些原理后,脚本才能真正发挥批处理、日志分析、系统监控与定时任务等技术价值。无论是处理文件备份、统计访问日志,还是检测服务器负载与磁盘占用,bash都能以轻量方式快速落地。对于刚接触命令行的开发者而言,通过可运行的示例学习比死记语法手册更高效。本文从基础流程控制出发,逐步深入到文件操作、文本提取、资源监控和发布自动化, 阅读详情

Bash的变量


  • SHELL 当前shell程序的路径。
  • BASH_SUBSHELL当前在第几层子shell,从0开始数。
  • CDPATH 冒号分隔的目录列表,作为cd命令的搜索路径
  • HOME 当前用户的主目录
  • IFS shell用来将文本字符串分割成字段的一系列字符
  • MAIL 当前用户收件箱的文件名( bash shell会检查这个文件,看看有没有新邮件)
  • MAILPATH 冒号分隔的当前用户收件箱的文件名列表( bash shell会检查列表中的每个文件,看看有没有新邮件)
  • OPTARG getopts命令处理的最后一个选项参数值
  • OPTIND getopts命令处理的最后一个选项参数的索引号
  • PATH shell查找命令的目录列表,由冒号分隔
  • PS1 shell命令行界面的主提示符
  • PS2 shell命令行界面的次提示符
  • BASH 当前shell实例的全路径名
  • BASH_ALIASES 含有当前已设置别名的关联数组
  • BASH_ARGC 含有传入子函数或shell脚本的参数总数的数组变量
  • BASH_ARCV 含有传入子函数或shell脚本的参数的数组变量
  • BASH_CMDS 关联数组,包含shell执行过的命令的所在位置
  • BASH_COMMAND shell正在执行的命令或马上就执行的命令
  • BASH_ENV 设置了的话,每个bash脚本会在运行前先尝试运行该变量定义的启动文件
  • BASH_EXECUTION_STRING 使用bash -c选项传递过来的命令
  • BASH_LINENO 含有当前执行的shell函数的源代码行号的数组变量
  • BASH_REMATCH 只读数组,在使用正则表达式的比较运算符=~进行肯定匹配( positive match)时,包含了匹配到的模式和子模式
  • BASH_SOURCE 含有当前正在执行的shell函数所在源文件名的数组变量
  • BASH_SUBSHELL 当前子shell环境的嵌套级别(初始值是0)
  • BASH_VERSINFO 含有当前运行的bash shell的主版本号和次版本号的数组变量
  • BASH_VERSION 当前运行的bash shell的版本号
  • BASH_XTRACEFD 若设置成了有效的文件描述符( 0、 1、 2),则’set -x’调试选项生成的跟踪输出可被重定向。通常用来将跟踪输出到一个文件中
  • BASHOPTS 当前启用的bash shell选项的列表
  • BASHPID 当前bash进程的PID
  • COLUMNS 当前bash shell实例所用终端的宽度
  • COMP_CWORD COMP_WORDS变量的索引值,后者含有当前光标的位置
  • COMP_LINE 当前命令行
  • COMP_POINT 当前光标位置相对于当前命令起始的索引
  • COMP_KEY 用来调用shell函数补全功能的最后一个键
  • COMP_TYPE 一个整数值,表示所尝试的补全类型,用以完成shell函数补全
  • COMP_WORDBREAKS Readline库中用于单词补全的词分隔字符
  • COMP_WORDS 含有当前命令行所有单词的数组变量
  • COMPREPLY 含有由shell函数生成的可能填充代码的数组变量
  • COPROC 占用未命名的协进程的I/O文件描述符的数组变量
  • DIRSTACK 含有目录栈当前内容的数组变量
  • EMACS 设置为’t’时,表明emacs shell缓冲区正在工作,而行编辑功能被禁止
  • ENV 如果设置了该环境变量,在bash shell脚本运行之前会先执行已定义的启动文件(仅用于当bash shell以POSIX模式被调用时)
  • EUID 当前用户的有效用户ID(数字形式)
  • FCEDIT 供fc命令使用的默认编辑器
  • FIGNORE 在进行文件名补全时可以忽略后缀名列表,由冒号分隔
  • FUNCNAME 当前执行的shell函数的名称
  • FUNCNEST 当设置成非零值时,表示所允许的最大函数嵌套级数(一旦超出,当前命令即被终止)
  • GLOBIGNORE 冒号分隔的模式列表,定义了在进行文件名扩展时可以忽略的一组文件名
  • GROUPS 含有当前用户属组列表的数组变量
  • histchars 控制历史记录扩展,最多可有3个字符
  • HISTCMD 当前命令在历史记录中的编号
  • HISTCONTROL 控制哪些命令留在历史记录列表中
  • HISTFILE 保存shell历史记录列表的文件名(默认是.bash_history)
  • HISTFILESIZE 最多在历史文件中存多少行
  • HISTTIMEFORMAT 如果设置了且非空,就用作格式化字符串,以显示bash历史中每条命令的时间戳
  • HISTIGNORE 由冒号分隔的模式列表,用来决定历史文件中哪些命令会被忽略
  • HISTSIZE 最多在历史文件中存多少条命令
  • HOSTFILE shell在补全主机名时读取的文件名称
  • HOSTNAME 当前主机的名称
  • HOSTTYPE 当前运行bash shell的机器
  • IGNOREEOF shell在退出前必须收到连续的EOF字符的数量(如果这个值不存在,默认是1)
  • INPUTRC Readline初始化文件名(默认是.inputrc)
  • LANG shell的语言环境类别
  • LC_ALL 定义了一个语言环境类别,能够覆盖LANG变量
  • LC_COLLATE 设置对字符串排序时用的排序规则
  • LC_CTYPE 决定如何解释出现在文件名扩展和模式匹配中的字符
  • LC_MESSAGES 在解释前面带有$的双引号字符串时,该环境变量决定了所采用的语言环境设置
  • LC_NUMERIC 决定着格式化数字时采用的语言环境设置
  • LINENO 当前执行的脚本的行号
  • LINES 定义了终端上可见的行数
  • MACHTYPE 用“ CPU公司系统”( CPU-company-system)格式定义的系统类型
  • MAPFILE 一个数组变量,当mapfile命令未指定数组变量作为参数时,它存储了mapfile所读入的文本
  • MAILCHECK shell查看新邮件的频率(以秒为单位,默认值是60)
  • OLDPWD shell之前的工作目录
  • OPTERR 设置为1时, bash shell会显示getopts命令产生的错误
  • OSTYPE 定义了shell所在的操作系统
  • PIPESTATUS 含有前台进程的退出状态列表的数组变量
  • POSIXLY_CORRECT 设置了的话, bash会以POSIX模式启动
  • PPID bash shell父进程的PID
  • PROMPT_COMMAND 设置了的话,在命令行主提示符显示之前会执行这条命令
  • PROMPT_DIRTRIM 用来定义当启用了\w或\W提示符字符串转义时显示的尾部目录名的数量。被删除的目录名会用一组英文句点替换
  • PS3 select命令的提示符
  • PS4 如果使用了bash的-x选项,在命令行之前显示的提示信息
  • PWD 当前工作目录
  • RANDOM 返回一个0~ 32767的随机数(对其的赋值可作为随机数生成器的种子)
  • READLINE_LINE 当使用bind –x命令时,存储Readline缓冲区的内容
  • READLINE_POINT 当使用bind –x命令时,表示Readline缓冲区内容插入点的当前位置
  • REPLY read命令的默认变量
  • SECONDS 自从shell启动到现在的秒数(对其赋值将会重置计数器)
  • SHELL bash shell的全路径名
  • SHELLOPTS 已启用bash shell选项列表,列表项之间以冒号分隔
  • SHLVL shell的层级;每次启动一个新bash shell,该值增加1
  • TIMEFORMAT 指定了shell的时间显示格式
  • TMOUT select和read命令在没输入的情况下等待多久(以秒为单位)。默认值为0,表示无限长
  • TMPDIR 目录名,保存bash shell创建的临时文件
  • UID 当前用户的真实用户ID(数字形式)
WorkVisual传输程序报错_发现一个内部错误 阅读详情

相关推荐

react-window 大数据列表和表格数据渲染组件之虚拟滚动

ReactWindow是一个高性能的React虚拟滚动组件库,专门用于高效渲染大型列表和表格数据。它通过“窗口化”技术,仅渲染用户可见区域的内容,大幅提升性能并减少内存消耗。主要特点包括:支持固定/可变大小列表项、多种布局类型(垂直/水平/网格)、轻量级设计(不足5KB)以及平滑的滚动体验。相比传统渲染方式,它能轻松处理成千上万条数据,并提供自动滚动、自适应容器大小等高级功能。与同类库相比,ReactWindow具有更简洁的API和更优的性能表现,是处理大数据量渲染场景的理想选择。

前端开发-前端技术分享 1137

Shell编程之环境变量的配置

文章目录source命令. 命令开机时 ,配置文件的调用/etc/profile~/.bash_profile~/.bashrc/etc/bashrc注销环境变量配置文件~/.bash_logout登录信息/etc/issue/etc/motdw命令bash的快捷键ctrl+c :终止当前终端的命令,如:pingctrl+d :结束当前终端,如:结束用户登录,结束交互式命令,结束当前终端stt...

老徐是个铁憨憨 919

固定翼飞行器建模(二)——MATLAB/Simulink建模、配平及线性化

MATLAB/Simulink固定翼建模、配平及线性化。

2302_80148937的博客 1万+

Linux 命令搜集

linux共享库位置配置(LD_LIBRARY_PATH环境变量 或者 更改/etc/ld.so.conf 或者 使用-R选项)

Ant 630

PHP 对接建行生活订单推送接口

php对接建行订单推送

qq_43647026的博客 560

UDPProbe UDP端口存活探测(发送特征包+响应分析)、UDP服务识别

qDebug() << "收到响应:" << ip.toString() << ":" << port << " 服务:" << serviceName << " 响应长度:" << response.size();qDebug() << "开始探测:" << targetIp << ":" << port << " 超时时间:" << timeout << "ms";qInfo() << "\n==================== UDP探测结果 ====================";

寒寒豆豆软件公司的博客 146

Shell 批量停起库脚本

#!/bin/bash for port in `awk -F: '{print $1}' #! /bin/bash for port in `awk -F: '{print $1}' /paic/redis/tools/etc/db_info_bak.txt` do echo ${port} ver=`awk -F: '{if ($1 == "'${port}'")

sunguowei1988的专栏 363

【项目实战】自动化测试软件VectorCAST介绍

VectorCAST是一款先进的自动化测试软件。VectorCAST是一款功能强大、易于使用的自动化测试软件。VectorCAST适用于各种嵌入式系统的测试。VectorCAST为嵌入式系统的测试提供了一种高效、可靠的解决方案。VectorCAST提供了一整套完整的测试工具,包括测试管理、代码覆盖、缺陷定位、报告生成等,以帮助开发人员提高测试效率,确保软件质量。VectorCAST支持。

奶爸的编程之路,也就一周冷个三天 2008

Shell编程

Shell编程shell 是什么Shell 脚本的执行方式脚本的常用执行方式shell 的变量将命令的返回值赋给变量设置环境变量 shell 是什么 Shell 是一个命令行解释器,它为用户提供了一个向 Linux 内核发送请求以便运行程序的界面系统级程序,用户可以用 Shell 来启动、挂起、停止甚至是编写一些程序. Shell 脚本的执行方式 脚本格式要求 脚本以#!/bin/bash 开头 脚本需要有可执行权限 编写第一个 Shell 脚本 创建一个 Shell 脚本,输出 hello worl

Hello World 987

AI在生物学领域的应用:基因序列分析和人工智能生物学

好的,非常感谢您提供的这个精彩的主题和详细的要求。我会全力以赴,遵循您的要求写一篇内容丰富、结构清晰、论述深入的专业技术文章。现在,就让我们开始这篇关于"AI在生物学领域的应用:基因序列分析和人工智能生物学"的博客文章吧! 1. 背景介绍 1.1 生物信息学的兴起

AI天才研究院 1415

RK35X8调试YT8531单网口千兆以太网PHY芯片,修复ping不通或者IP地址丢失的问题

RK35X8上调试YT8531以太网PHY

荻夜的博客 3976

Linux $HOME/.bash_profile文件解析

Linux $HOME/.bash_profile文件解析

qq_21370419的博客 2379

CANoe-vTESTstudio之Test Diagram编辑器

总之,CANoe-vTESTstudio的Test Diagram编辑器提供了一个直观且强大的工具,用于创建和管理测试用例。通过图形化的界面和丰富的功能,测试工程师可以更轻松地编写复杂的测试脚本,并有效地进行测试开发。在上面的示例中,我们创建了一个名为"MyTestCase"的测试用例,并定义了两个测试步骤"Step1"和"Step2"。在上面的示例中,我们在执行"Step1"之后使用条件语句来确定是否执行"Step2"。在每次迭代中,我们创建一个新的测试步骤,并根据迭代次数动态生成相应的日志和验证消息。

TcData的博客 248

Bash 环境变量常见问题及解决方法

局部变量与全局变量混淆可能导致问题。在脚本中定义的变量默认局部,需使用。跨终端会话时,确保变量定义在全局配置文件(如。子进程继承父进程环境变量,但父进程不感知子进程的修改。检查是否有多个脚本或配置文件重复设置同一变量。命令显示所有变量(包括局部变量)。若为空,需重新设置。临时设置的变量仅在当前会话有效。引用变量,后者可明确变量边界。检查环境变量是否已正确设置,使用。使更改立即生效,无需重启终端。搜索所有可能的定义位置。临时设置,或将其添加到。修改配置文件后需执行。执行脚本可共享环境。

xcklqtzy93035cfc的博客 391

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

常见 Bash 内置变量介绍

目录 $0$1, $2 等等$#$* 与 "$*"$@ 与 "$@"$!$_$$$PPID$?$BASH$BASH_VERSION$EUID 与 $UID$GROUPS$HOME$HOSTNAME$IFS$PATH$OLDPWD$PWD$PS1$PS2$PS4 $0 执行 Bash 脚本时,Bash 会自动将脚本的名称保存在内置变量 $0 中。因为 $0 基于的是实际的脚本文件名称,而不是在脚本中...

weixin_33725126的博客 1497

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

shell脚本编程学习笔记4(xdl)——Bash常见环境变量

shell脚本编程学习笔记4——Bash常见环境变量非专业运维,例如开发人员,环境变量熟悉常见的,了解不常见的即可。1,简介环境变量配置文件中主要是定义对系统的 操作环境生效的系统默认环境变量,比如 PATH、 HISTSIZE、PS1、HOSTNAME等 默认环境变量。  常见环境变量路径     /etc/profile      /etc/profile.d/*.sh      ~...

敦煌的驼铃_Blog 364

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

bash中常见环境变量env、set、export 、declare与bash漏洞原理

今天被同事问到env与set的区别,感觉很久不看忘了,所以简单的记一笔,方便后续查阅 初识env env命令可以显示当前用户的环境变量,还可以用来在指定环境变量下执行其他命令 env查看有哪些环境变量,并且可以用$ 变量读取env中的变量名对应的变量值 set,env和export、以及declare命令的异同: set命令显示当前shell的变量,包括当前用户的变量 env命令...

weixin_30745553的博客 1092

Bash 语言变量定义常见问题及解决办法

变量定义时等号两侧不能有空格,否则会被视为命令和参数。my_var="value" # 正确my_var = "value" # 错误:等号两侧有空格Bash 支持数组,需用括号声明,引用时需下标或@/*echo "${colors[1]}" # 输出 greenecho "${colors[@]}" # 输出所有元素。

dzfowt3904giu的博客 338

shell特殊变量演示(三)常见的bash shell常见内置命令的参数

常见的bash shell常见内置命令的参数 echo [root@6 server]# echo -n 111;echo 222 -n:不换行输出内容 [root@6 server]# echo -e "daidai\taimi\nniuniu\tnaonao" \t空格的作用。 \n重新开启新一行 read 作用于从标准输入读取字符串等信息,传给shell程序内部...

IT学习笔记记录 278

bash系统变量

BASH内置变量 (1).BASH 作用:bash的完整路径.默认为/bin/bash (2).BASH_ENV 作用:仅在非交互模式中适用.在执行shell脚本时,会先检查该变量是否指定了启动 脚本,若指定则先执行它指定的启动脚本. (3).BASH_VERSION 作用:bash的版本号 实例:echo $BASH_VERSION (4).CDPATH 作用:cd的搜索路径

mkelehk的专栏 750

linux 变量赋值 出错,关于shell:Bash变量赋值中的命令未找到错误

我有一个叫做test.sh的脚本:#!/bin/bashSTR ="Hello World"echo $STR当我运行sh test.sh时,我得到了:test.sh: line 2: STR: command not found我做错什么了?我在网上看了非常基础/初学者的bash脚本教程,这就是他们如何声明变量…所以我不知道我做错了什么。我在Ubuntu服务器9.10上。是的,bash位于/bi...

weixin_39716510的博客 912

bash的常见用法

Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器)。它类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。由于早年的Unix年代,发展者众,所以由于shell依据发展者的不同就有许多的版本,例如常听到的Bourne  SHell(sh)、在Sun    里头默认的 C  SHell、    商业上常用的K   SHel...

LZH_12345的博客 2116

5.4.2 Bash的内部变量

Bash的内部变量

weixin_43446462的博客 192

linux bash环境变量简单总结

来源链接:http://www.178linux.com/8005 原创文章,如有转载,请注明原文地址 一.环境变量简介 Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都 是相同的,这个默认环境实际上就是一组环境变量的定义。 环境变量是全局的,设置好的环境变量可以被所有当前用户所运行的程序所使用。 用户可以对自己的运行环...

dbna5213的博客 164

Bash中的变量类型,你知道几种?

你必须非常努力,才能看起来毫不费力! 微信搜索公众号[ 漫漫Coding路 ],一起From Zero To Hero ! 前言 与 Java、Go 等编程语言类似,Bash 中也可以自定义变量,那么如何自定义变量呢?除了自定义变量之外,Bash中还有没有其他类型的变量供我们使用呢?一起来学习吧! 变量分类 在 Bash 中,变量主要分为以下四种类型: 自定义变量:类似Java、Go语言中的自定义变量,灵活性最高; 环境变量:主要保存和系统环境相关的变量,系统已经定义好了很多环境变量,同时允许用户新增.

u012948302的专栏 2177

Linux Shell基础-Bash变量

变量名称不可以数字开头,可以使用字母,数字,下划线 变量赋值name=name 切记等号‘=’两边不能右括号 若想让变量从name增加为name_my可以用name=name=name={name}_my更新name变量的值 把date变量赋值为date命令的结果可以date=$(date) 把date赋值为date命令的结果 环境变量可以添加,查看,虽然不可以更改名称,但可以修改...

qq_43149127的博客 208
上一篇: shell中的变量扩展
下一篇: Why the “volatile” type class should not be used
InvokerZhang
博客等级 码龄11年 9粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值