Linux Shell 怎样获得命令的执行结果
find$path1-maxdepth1-iname$moduleNameif;then#$moduleCommand$result1echo"resultoffindi...
find $path1 -maxdepth 1 -iname $moduleNameif ;then #$moduleCommand $result1 echo "result of find is OK"else echo "result of find is failed"fi大家好,我写了个以上的Shell 程序,在执行这个程序时,执行的结果始终未:result of find is OK,path1为传进来的目录,moduleName为要查找的模块名,执行时,不管moduleName在指定的目录下是否存在,其执行结果始终为:result of find is OK,跟踪下来,在 if 这个语句处,结果始终为:if 不知道是什么原因?谢谢!由于是刚进来的新手,故此题暂时没有悬赏分,在此谢过给予答复的大牛们,谢谢!
展开
3个回答
展开全部
可以用 $? 获取上一条shell命令的返回结果。
一般的约定是: 0 表示成功,非0表示失败。
例如:你可以试验一下
执行正确的shell 命令: 执行 ls,然后紧接着 echo $?
执行错误的shell 命令: 执行 ls /abcdefg,然后紧接着 echo $?
一般的约定是: 0 表示成功,非0表示失败。
例如:你可以试验一下
执行正确的shell 命令: 执行 ls,然后紧接着 echo $?
执行错误的shell 命令: 执行 ls /abcdefg,然后紧接着 echo $?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
findEXIT STATUS find exits with status 0 if all files are processed successfully, greater than 0 if errors occur. This is deliberately a very broad description, but if the return value is non-zero, you should not rely on the correctness of the results of find.换个思路撒:find "$path1" -maxdepth 1 -iname "$moduleName" | wc -l非零表示文件找到PS:参数加上双引号 查看更多答案>>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询