shell编程if,test命令,如图语法不是一样吗?为什么执行时没文件输出please input

不可写却输出unwriteabl,而不是writeable,我的理解错在哪里了?#!/bin/bash#4.10.shiftest-z$1thenecho'pleasei... 不可写却输出unwriteabl,而不是writeable,我的理解错在哪里了?
#!/bin/bash
#4.10.sh
if test -z $1
then echo 'please input a file name'
else
if test -w $1
then echo "writeable"
else
echo "unwriteable"
fi
if test -x $1
then echo "excuteable"
else
echo "unexcuteable"
fi
fi
上面的意思不是test命令测试没有输入文件名时的时候输出please input a file name
那下面不应该是测试文件不可写时输出writeable
展开
 我来答
百度网友5311d79
2011-08-14 · TA获得超过1.9万个赞
知道大有可为答主
回答量:6356
采纳率:71%
帮助的人:3219万
展开全部
其实很好理解啦,代码的判断逻辑是正确的。
-z 表示 zero (即文件名输入为空)
-w 表示 writeable (文件具有可写权限)
-x 表示 excuteable (文件具有可执行权限)
树_镜
2011-08-14 · TA获得超过546个赞
知道小有建树答主
回答量:370
采纳率:100%
帮助的人:240万
展开全部
1、测试没有输入文件名时的时候输出please input a file name
2、测试文件可写时输出writeable,测试文件不可写时输出unwriteable
3、测试文件可执行时输出excuteable,测试文件不可执行时输出unexcuteable
追问
那为什么看起来语法都一样,if test ..1,..then...。测试没有,输出,可写可执行不是反了了嘛?为什么却是测试可以输出write,按照上面不该是,测试不可写输出write????我知道他的意思,就是不明白为什么语法看起来一样,却一个是不*?输出,另两个却是可*?输出???,这个我看错了,还是理解上我对test的参数没搞懂??
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式