linux进程中括号代表什么,linux – bash中双方括号和单方括号有什么区别?

有几个不同之处.在我看来,一些最重要的是:

> [是Bash内置的许多其他现代炮弹.内置[类似于测试以及关闭的额外要求].内置[并测试模拟功能/ bin / [和/ bin / test及其限制,以便脚本向后兼容.原始可执行文件仍然主要用于POSIX兼容性和向后兼容性.运行命令类型[在Bash中表示[默认情况下解释为内置]. (注意:哪个[仅查找PATH上的可执行文件,相当于类型-p [)

> [[不兼容,它不一定适用于/ bin / sh指向的任何内容.所以[[更现代的Bash / Zsh / Ksh选项.

>因为[[内置于shell中并且没有遗留的要求,所以您不必担心基于IFS变量的单词拆分,以搞砸评估为带空格的字符串的变量).因此,您实际上不需要将变量放在双引号中.

在大多数情况下,其余部分只是一些更好的语法.为了看到更多的差异,我推荐这个链接到FAQ答案:What is the difference between test, [ and [[ ?.事实上,如果你认真对待bash脚本,我建议你阅读整个wiki,包括FAQ,Pitfalls和Guide. The test section from the guide section也解释了这些差异,以及为什么作者认为[[如果你不需要担心便携性,那么这是一个更好的选择].主要原因是:

>您不必担心引用测试的左侧,以便实际将其作为变量读取.>你不必逃避小于和大于< >使用反斜杠,以便它们不被评估为输入重定向,这可能通过覆盖文件真的搞砸了一些东西.这再次回到[[是一个内置的.如果[(test)是一个外部程序,那么shell必须以它评估的方式做出异常只有在调用/ bin / test时才会有意义.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值