首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

帮小弟我分析一个shell的结果哦

2013-01-01 
帮我分析一个shell的结果哦#!/bin/bash -function mytest(){echo arg1 $1if [ $1 1 ]thenreturn

帮我分析一个shell的结果哦
#!/bin/bash -
function mytest(){
echo "arg1 = $1"
if [ $1 = "1" ];then
   return 1;
else
   return 0;
fi
}

echo
echo "mytest 0 = "`mytest 0`;
if mytest 0;then
echo "mytest 0";
fi
echo "end";


这个shell运行结果是
mytest 0 = arg1 =0
arg1 =0

mytest 0
end

但是,我觉得,那红色标记部分不应该打印出来呀,为什么 if后,能把 mytest 0给打印出来哦?


[解决办法]
0 不是成功么。。。
[解决办法]
if不带[]是只测试后面命令运行是否成功,以$?来判断, 而不是测试0和1

因为mytest 0是返回0,if认为成功, mytest 1是返回1,if认为失败

所以
if mytest 0;then
echo "mytest 0";
fi
能输出mytest0

热点排行