Shell 中各种括号的作用:()、(())、[]、[[]]、{}

 2023-12-05  阅读 300  评论 5  点赞 318

摘要:引言 Shell 脚本中的括号种类繁多,不同的括号在不同的情况下有着不同的用途。在本文中,我们将介绍括号的种类以及它们的作用。 圆括号 () 圆括号用来执行命令,并将命令的输出作为参数传递给 Shell。圆括号中的命令会在子 Shell 中执行,因此圆括号中的变量和环境变量对外部

引言

Shell 脚本中的括号种类繁多,不同的括号在不同的情况下有着不同的用途。在本文中,我们将介绍括号的种类以及它们的作用。

圆括号 ()

圆括号用来执行命令,并将命令的输出作为参数传递给 Shell。圆括号中的命令会在子 Shell 中执行,因此圆括号中的变量和环境变量对外部 Shell 是不可见的。

$ echo $(ls)

以上命令会将当前目录下的文件列表输出。

双圆括号 (())

双圆括号主要用来进行算术运算。双圆括号中的变量名不需要使用 $ 符号,而且可以使用 C 语言风格的运算符。

$ a=10
$ ((a++))
$ echo $a

以上命令会将 a 的值增加 1,然后输出 11。

方括号 []

方括号用来进行条件测试。方括号中的命令会在当前 Shell 中执行,因此方括号中的变量和环境变量对当前 Shell 是可见的。

$ [ -f test.txt ]
$ echo $?

以上命令会测试当前目录下是否存在 test.txt 文件。如果存在,返回值为 0;否则,返回值为非零。

双方括号 [[]]

双方括号用来进行条件测试,与方括号类似。但双方括号中的参数可以使用模式匹配,而方括号中的参数不支持模式匹配。

$ [[ "test.txt" == *.txt ]]
$ echo $?

以上命令会测试 "test.txt" 是否与 *.txt 模式匹配。如果匹配,返回值为 0;否则,返回值为非零。

花括号 {}

花括号主要用来生成序列。花括号中的序列可以用逗号分隔,也可以使用省略号表示范围。

$ echo {1..5}
$ echo {a..z}

以上命令分别会输出 1 到 5 的数字序列和 a 到 z 的字母序列。

结论

本文介绍了 Shell 中各种括号的作用,包括 ()、(())、[]、[[]]、{}。不同的括号在不同的情况下有着不同的用途,掌握这些括号的使用方法可以使 Shell 脚本编写更加高效。

Shell 中各种括号的作用:()、(())、[]、[[]]、{}

评论列表:

  •   weihang
     发布于 4天前回复该评论
  • 写的很不错,学到了!
显示更多评论

发表评论:

管理员

承接各种程序开发,外贸网站代运营,外贸网站建设等项目
  • 内容2460
  • 积分67666
  • 金币86666

Copyright © 2024 LS'Blog-保定PHP程序员老宋个人博客 Inc. 保留所有权利。 Powered by LS'blog 3.0.3

页面耗时0.0269秒, 内存占用1.91 MB, 访问数据库27次

冀ICP备19034377号