#!/bin/sh
if [[ 3 -gt 2 ]];then
echo aaaaa
fi
if [ 3 -gt 2 ];then
echo aaaaa
fi
---大家讨论一下这两种写法的区别
- bzhao
- 帖子: 254
- 注册时间: 2008-07-05 2:15
- 系统: XUbuntu
---大家讨论一下这两种写法的区别
Bill Z
stat -c %a filename
\_.\{-}
stat -c %a filename
\_.\{-}
- lxf1992521
- 帖子: 240
- 注册时间: 2011-06-26 18:28
- 联系:
Re: ---大家讨论一下这两种写法的区别
[[ 是bash的新版本特性,比 [ 功能更强大,且兼容 [ 。
比如测试两个命令表达式:
还有很多其他的特性,欢迎查阅《高级Bash脚本编程指南》和bash的man文档! 
比如测试两个命令表达式:
代码: 全选
[ -d /dev && -f /etc/fstab ] && echo hello
# bash: [: 缺少 `]'
[[ -d /dev && -f /etc/fstab ]] && echo hello
# hello

http://www.linux-unix.asia
720P电影,无损音乐,Linux教程资料:http://hdcity.leniter.org/promotionlink ... e838745c67
720P电影,无损音乐,Linux教程资料:http://hdcity.leniter.org/promotionlink ... e838745c67
- bzhao
- 帖子: 254
- 注册时间: 2008-07-05 2:15
- 系统: XUbuntu
Re: ---大家讨论一下这两种写法的区别
lxf1992521 写了:[[ 是bash的新版本特性,比 [ 功能更强大,且兼容 [ 。
比如测试两个命令表达式:还有很多其他的特性,欢迎查阅《高级Bash脚本编程指南》和bash的man文档!代码: 全选
[ -d /dev && -f /etc/fstab ] && echo hello # bash: [: 缺少 `]' [[ -d /dev && -f /etc/fstab ]] && echo hello # hello
[ -d /dev && -f /etc/fstab ] && echo hello 应该改成:
[ -d /dev -a -f /etc/fstab ] && echo hello
谢谢你让我了解有这个差异(-a, &&)
Bill Z
stat -c %a filename
\_.\{-}
stat -c %a filename
\_.\{-}
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: ---大家讨论一下这两种写法的区别
[[ 是 bash / zsh 的关键字,[ 是一个命令。[[ 里不用关心 globbing 和字符串扩展的问题,比如 [[ -n $a ]] 以及 [[ $t == *test* ]]。