免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3269 | 回复: 3
打印 上一主题 下一主题

如何判断 shell 调用使用成功? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-28 11:01 |只看该作者 |倒序浏览
5可用积分
$res = `scp 192.168.1.1:/home/hehe/* /tmp`;
如何判断scp命令是否成功呢? (要求: 无论成功与否,不希望有输出到stdout。)

尝试一:  $res = `scp 192.168.1.1:/home/hehe/* /tmp >/dev/null 2>&1`;

结果:如果将stdout重定向到/dev/null后,就无法捕捉错误信息到$res

请高人指点!

最佳答案

查看完整内容

try$res = `scp 192.168.1.1:/home/hehe/* /tmp 2>&1`;

论坛徽章:
0
2 [报告]
发表于 2008-07-28 11:01 |只看该作者
try

$res = `scp 192.168.1.1:/home/hehe/* /tmp 2>&1`;

论坛徽章:
0
3 [报告]
发表于 2008-07-28 11:30 |只看该作者

回复 #2 Ksharp 的帖子

谢谢,可以的。

有个问题,如下:

[root@lzhshen-001 tools]# out=`scp 10.32.108.82:/var/log/sa/* /tmp  2>&1` # 路径正确
[root@lzhshen-001 tools]# echo $out  # scp 成功的结果为什么没有保存在$out中呢?

[root@lzhshen-001 tools]# out=`scp 10.32.108.82:/var/log/sa123/* /tmp  2>&1` #路径错误
[root@lzhshen-001 tools]# echo $out  #错误消息保存在$out中
scp: /var/log/sa123/*: No such file or directory

论坛徽章:
0
4 [报告]
发表于 2008-07-28 14:04 |只看该作者
一个shell退出后会留下一个变量,如果该变量是0,表示正确执行了

这个变量就是$?

用这个方法更酷
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP