bash: [ -n "$a" ]结果是正常的,[ -n $a ]无论$a是否为空都会返回真

sh/bash/dash/ksh/zsh等Shell脚本
回复
feirainy
帖子: 9
注册时间: 2009-07-03 18:52
送出感谢: 0
接收感谢: 0

bash: [ -n "$a" ]结果是正常的,[ -n $a ]无论$a是否为空都会返回真

#1

帖子 feirainy » 2013-01-04 20:49

bash: [ -n "$a" ]结果是正常的,[ -n $a ]无论$a是否为空都会返回真。。。

我用的还是10.04~不过应该没什么关系吧~
libreoffice3writer
帖子: 128
注册时间: 2012-12-20 15:39
系统: Debian sid
送出感谢: 0
接收感谢: 4 次

Re: bash: [ -n "$a" ]结果是正常的,[ -n $a ]无论$a是否为空都会返回真

#2

帖子 libreoffice3writer » 2013-01-04 21:05

代码: 全选

a="hello"

if [ -n $a ]; then
	echo $a
fi
很正常呀.
feirainy
帖子: 9
注册时间: 2009-07-03 18:52
送出感谢: 0
接收感谢: 0

Re: bash: [ -n "$a" ]结果是正常的,[ -n $a ]无论$a是否为空都会返回真

#3

帖子 feirainy » 2013-01-04 21:21

libreoffice3writer 写了:

代码: 全选

a="hello"

if [ -n $a ]; then
	echo $a
fi
很正常呀.
试一下:

代码: 全选

a=
if [ -n $a ]; then
	echo "true"
fi

a="hello"
if [ -n $a ]; then
	echo "true"
fi
头像
YeLee
论坛版主
帖子: 26388
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
送出感谢: 25 次
接收感谢: 307 次
联系:

Re: bash: [ -n "$a" ]结果是正常的,[ -n $a ]无论$a是否为空都会返回真

#4

帖子 YeLee » 2013-01-04 21:22

◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
头像
枫叶饭团
论坛版主
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
送出感谢: 1 次
接收感谢: 132 次
联系:

Re: bash: [ -n "$a" ]结果是正常的,[ -n $a ]无论$a是否为空都会返回真

#5

帖子 枫叶饭团 » 2013-01-04 21:26

代码: 全选

ef>a=
ef>if [ -n $a];then 
then> echo "true"
then> fi
true
ef>if [ -n "$a"];then
echo "true"
fi
true
ef>
zsh表示无压力
cao627
帖子: 992
注册时间: 2007-12-05 10:57
系统: ubuntu14.04
来自: 金山
送出感谢: 13 次
接收感谢: 62 次

Re: bash: [ -n "$a" ]结果是正常的,[ -n $a ]无论$a是否为空都会返回真

#6

帖子 cao627 » 2013-01-04 22:05

代码: 全选

if [ -n  ]; then    echo "true"; fi
true  #你给我字符串我就判断,你不给我字符串那我就取默认值true
cao627
帖子: 992
注册时间: 2007-12-05 10:57
系统: ubuntu14.04
来自: 金山
送出感谢: 13 次
接收感谢: 62 次

Re: bash: [ -n "$a" ]结果是正常的,[ -n $a ]无论$a是否为空都会返回真

#7

帖子 cao627 » 2013-01-04 22:10

cao627 写了:

代码: 全选

if [ -n  ]; then    echo "true"; fi
true  #你给我字符串我就判断,你不给我字符串那我就取默认值?
回复

回到 “Shell脚本”