分页: 1 / 1

请教一个if语句的问题

发表于 : 2009-09-03 12:05
fy20041127
从网上看到
if [ condition ] 判断语句中要在condition与中括号之间加入空格

那请问if [[....]]这种双括号的形式要如何使用呢?我自己了尝试了几种方式也没发现有什么太大的区别,请高手指教

Re: 请教一个if语句的问题

发表于 : 2009-09-03 21:27
cnkilior
if [[....]]是bash的扩展,if [ condition ] 是posix规则。

具体忘记了。

Re: 请教一个if语句的问题

发表于 : 2009-09-12 13:00
netstat
another choice

Re: 请教一个if语句的问题

发表于 : 2009-09-12 14:42
eexpress

代码: 全选

if ! [[ $1 =~ .mp3$ ]]; then exit 1; fi
if [[ $(tty) =~ /dev/tty.+ ]]; then
支持正则的啊,而且里面就不需要转义了。这很重要的。

Re: 请教一个if语句的问题

发表于 : 2009-09-12 16:33
c\nc

代码: 全选

a="-h"
[[ $a = -* ]] && echo 嘿嘿
嘿嘿
支持通配符了

Re: 请教一个if语句的问题

发表于 : 2009-10-05 14:54
tusooa

代码: 全选

05/10/2009 15:01:11                                                                                        
tusooa (~)                                                                                                 
>> type [
[ is a shell builtin
05/10/2009 15:01:35
tusooa (~)
>> type [[
[[ is a shell keyword
05/10/2009 15:01:37
tusooa (~)
>> [ h
bash: [: missing `]'
05/10/2009 15:01:42
tusooa (~)
>> [[ h
bash: unexpected token `newline', conditional binary operator expected
bash: syntax error near `h'
05/10/2009 15:01:44
tusooa (~)
>> [[ --help = -* ]]
05/10/2009 15:01:51
tusooa (~)
>> echo $?
0
05/10/2009 15:01:57
tusooa (~)
>> [ --help = -* ]
05/10/2009 15:02:02
tusooa (~)
>> echo $?
1