从网上看到
if [ condition ] 判断语句中要在condition与中括号之间加入空格
那请问if [[....]]这种双括号的形式要如何使用呢?我自己了尝试了几种方式也没发现有什么太大的区别,请高手指教
请教一个if语句的问题
-
- 帖子: 7
- 注册时间: 2009-01-12 21:36
- cnkilior
- 论坛版主
- 帖子: 4984
- 注册时间: 2007-08-05 17:40
Re: 请教一个if语句的问题
if [[....]]是bash的扩展,if [ condition ] 是posix规则。
具体忘记了。
具体忘记了。
- netstat
- 帖子: 104
- 注册时间: 2009-09-11 13:10
- 联系:
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
Re: 请教一个if语句的问题
代码: 全选
if ! [[ $1 =~ .mp3$ ]]; then exit 1; fi
if [[ $(tty) =~ /dev/tty.+ ]]; then
● 鸣学
- c\nc
- 帖子: 231
- 注册时间: 2007-12-25 12:51
Re: 请教一个if语句的问题
代码: 全选
a="-h"
[[ $a = -* ]] && echo 嘿嘿
嘿嘿
-
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
- 联系:
Re: 请教一个if语句的问题
代码: 全选
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
代码: 全选
] ls -ld //