[[ -n "abc" ]] 为什么用2个[[

sh/bash/dash/ksh/zsh等Shell脚本
回复
liuyug
帖子: 42
注册时间: 2007-01-12 10:28

[[ -n "abc" ]] 为什么用2个[[

#1

帖子 liuyug » 2014-03-26 10:06

在一个 shell script 中发现很多这样的用法

代码: 全选

if [[ -n "abc" ]]; then
    ...
fi
为什么用2个[[
头像
susbarbatus
帖子: 2966
注册时间: 2010-04-10 16:14
系统: Arch Linux

Re: [[ -n "abc" ]] 为什么用2个[[

#2

帖子 susbarbatus » 2014-03-26 11:42

[[ 跟 [ 差不多,简化了一些语法,但不是 POSIX 的。

对于这种简单的判断,还是建议用 [

详细参见 http://mywiki.wooledge.org/BashFAQ/031
沉迷将棋中……
liuyug
帖子: 42
注册时间: 2007-01-12 10:28

Re: [[ -n "abc" ]] 为什么用2个[[

#3

帖子 liuyug » 2014-03-26 15:00

原来 [ 是命令,[[ 是关键字

[ 是 POSXI 标准, [[ 是 [ 的增强版

[[ 支持 && || [ 用 -a -o

还有好多...见上面 link
回复