使用`[[`或`[`或组合来测试bash脚本?

时间:2014-07-26 11:22:39

标签: bash testing

根据所使用的测试,将一个bash脚本[[[组合在一起是否合适?或者为了保持一致性,是否应该只使用其中一个?

2 个答案:

答案 0 :(得分:2)

通常情况下,如果两者都可用,[[更好(语法更一致,比较功能更强等),我没有理由使用[。另一方面,如果您正在编写一个需要能够在通用POSIX兼容shell下运行的脚本(即您不能指望在bash或zsh或其他任何东西下运行),那么您< em>无法使用[[,必须与[合作。

基本上,如果您的脚本以#!/bin/bash#!/bin/zsh#!/bin/ksh开头,则可以(并且应该)使用[[。如果它以#!/bin/sh开头,则必须独占使用[

答案 1 :(得分:0)

单个括号([)通常实际上调用名为[;男人测试或男人[更多信息。例如:

双括号([[)与单个括号相同,但是内置的是bash。

您可以看到更多信息What is the difference between test, [ and [[ ?