bash的8个特殊参数

bash特殊参数是预定义的变量,在bash中用于提供关于当前正在执行的脚本或命令的信息,或用于操作命令行参数或其他 shell 设置。这些参数有特殊的含义,不能赋新值,只能引用。

以下是最常用的 Bash 8个特殊参数:

  1. $*:($*) 扩展为从1开始的位置参数。在非双引号内进行扩展时,每个位置参数扩展为一个单独的单词。在执行它的上下文环境中,这些单词将进一步被拆分为单词和文件名扩展。当扩展出现在双引号内时,它会扩展为一个单词,其中每个参数的值由IFS特殊变量的第一个字符分隔。也就是说,"$*"等同于"$1c$2c...",其中c是IFS变量值的第一个字符。如果IFS未设置,则参数用空格分隔。如果IFS为空,则参数被直接连接在一起,没有中间分隔符。

  1. $@:($@) 扩展为从1开始的位置参数。在执行单词分割的上下文中,它将每个位置参数扩展为单独的单词;如果不在双引号内,这些单词将被分割成单词。在不执行单词分割的上下文中,它将扩展为每个位置参数由空格分隔的单个单词。当扩展发生在双引号内,并且执行单词分割时,每个参数将扩展为单独的单词。也就是说,"$@" 相当于 "$1" "$2" ...。如果双引号扩展出现在一个单词中,第一个参数的扩展将与原始单词的开始部分连接,最后一个参数的扩展将与原始单词的最后部分连接。当没有位置参数时,"$@" 和 $@ 扩展为空(即它们被移除)。

  1. $#:扩展为位置参数的个数。

  1. $?:扩展为最近执行的前台管道的退出状态。

  1. $-:扩展为当前选项标志,由调用时指定,由 set 内置命令指定,或由 shell 自身设置(例如 -i 选项)。

  1. $:扩展为 shell 进程的进程 ID(PID)。

  1. $!:扩展为最近执行的后台命令的 PID。

  1. $0:扩展为正在执行的 shell 或 shell 脚本的名称。

这些特殊参数可以在各种情况下使用,例如条件语句、循环或操作命令行参数时。了解这些特殊参数在编写 bash脚本和处理 bash 命令行时非常有用。

展开阅读全文

页面更新:2024-03-13

标签:参数   空格   文中   变量   脚本   单词   字符   选项   命令   位置

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top