Linux 学习总结(87)—— shell 中各种括号的作用()、(())、「」、「「」」、「」
发布日期:2025-04-06 17:17:23 浏览次数:7 分类:精选文章

本文共 663 字,大约阅读时间需要 2 分钟。

一、小括号,圆括号 ()

1、单小括号 ()

  • 命令组:括号中的命令会在当前shell中新开启一个子shell进行执行。如果括号中包含多个命令,命令之间应该用分号分隔 Ultima alleylast command 可能不带分号。子shell执行的命令与外部脚本间无法共享变量。需要注意的是,括号内的命令与外部脚本之间并没有变量共享关系。
  • 命令替换:$(cmd) 表示对括号内命令进行执行后的标准输出输出替换到整个命令中。一种常见用法是动态获取命令的输出结果,但需要注意 tcsh 并不支持这种命令替换方式。例如,$(date) 可以用来获取当前时间戳。
  • 数组初始化:可以用于初始化数组。例如,数组可以这样定义:array=(a b c d)

2、双小括号 (( ))

  • 整数扩展:双小括号内的表达式会被当作整数计算。在这种模式下,如果表达式计算结果为零,则会返回退出状态码 1,或者在逻辑判断中结果视为假;而非零的表达式则会返回退出状态码 0(真)或视为真。这类似于 C 编程语言中的 exit_code.`((expr))`的计算结果会影响脚本的退出状态码。
  • 支持更复杂的运算符和表达式:与单个小括号类似,双括号中的表达式可以包含一系列运算符和子表达式。开发者可以使用类似 C语言的逻辑运算符和算术运算符来进行扩展。例如,`((a + b > 5))` 可以用来判断 a 加 b 的结果是否大于 5。需要注意的是,双小括号的唯一目的是为了进行整数扩展,在逻辑判断中,这种方式能够更方便地直接将结果作为脚本的退出状态代码使用。
上一篇:Linux 学习总结(88)—— Linux 系统中的 Swap 交换分区总结
下一篇:Linux 学习总结(86)—— 如何排查服务器是否被入侵

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2025年04月22日 12时01分11秒