[${variable}]]与bash中的[[-n${variable}]]相同吗?

[${variable}]]与bash中的[[-n${variable}]]相同吗?,bash,Bash,我阅读了另一个人在bash中编写的代码。 它包括以下代码: [[ ${variable} ]] 它似乎起到了同样的作用 [[ -n ${variable} ]] 它是否正确?是的,在[[中没有任何选项([[是bash关键字),其行为与使用-n选项完全相同,即检查字符串是否为非空(即长度>0),并给出退出状态0,如果字符串不是您可以想象的空字符串。谢谢您的回答。请让我再问您一点。当变量定义为整数时,有什么问题吗?@mora No,就像我说的,它只检查长度,没有其他。尽管注意,整数测试是不同的,

我阅读了另一个人在bash中编写的代码。 它包括以下代码:

[[ ${variable} ]]
它似乎起到了同样的作用

[[ -n ${variable} ]]

它是否正确?

是的,在
[[
中没有任何选项(
[[
bash
关键字),其行为与使用
-n
选项完全相同,即检查字符串是否为非空(即长度>0),并给出退出状态
0
,如果字符串不是您可以想象的空字符串。

谢谢您的回答。请让我再问您一点。当变量定义为整数时,有什么问题吗?@mora No,就像我说的,它只检查长度,没有其他。尽管注意,整数测试是不同的,并且使用
-gt
,-
lt
等选项,
-n
是一个纯粹的字符串测试。@mora我认为不是一个关键字,因为有一个程序叫做just
[
。看看
/usr/bin/[
@Peregring lk,还有一个shell内置的
[
(并且会优先于外部的)。