如何从Expect脚本中捕获标准错误

迈哈布纳什

以下期望脚本将删除远程计算机上的文件/ var / tmp / file

但在此之前,期望脚本会在远程计算机上执行ssh,

我把2>/tmp/errors为了从ssh捕获错误

但是我注意到尽管ssh到远程发送错误,但我看不到/tmp/errors文件中的错误

但是当我尝试手动

ssh   $LOGIN@$machine

然后SSH失败 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED

但是从期望中我无法捕捉到这个错误 /tmp/erros

请指教出什么问题了?为什么2>/tmp/errors不捕获错误?

 expect_test=`cat << EOF
 set timeout 50
 spawn  ssh   $LOGIN@$machine  2>/tmp/errors
       expect {
                 ")?"   { send "yes\r"  ; exp_continue  }

                 word:  { sleep 1 ; send $PASSORD\r}
              }
 expect >  {send "sleep 1\r"}
 expect >  {send "rm -f /var/tmp/file\r"}
 expect >    {send exit\r}
 expect eof
 EOF` 


 expect -c  "$expect_remove_file"
w

spawn不了解I / O重定向。代替

spawn  ssh   $LOGIN@$machine  2>/tmp/errors

与任何

spawn  ssh   $LOGIN@$machine -E /tmp/errors
# -E log_file tells ssh where to write the error log instead of stderr

或者

spawn  sh -c "ssh $LOGIN@$machine 2>/tmp/errors"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

思科Expect脚本中的错误

来自分类Dev

思科Expect脚本中的错误

来自分类Dev

捕获SFTP脚本中的错误

来自分类Dev

如何在Linux bash脚本中捕获错误?

来自分类Dev

在Ruby中捕获流式标准输出和标准错误

来自分类Dev

捕获Expect脚本的退出代码

来自分类Dev

如何从Shell脚本捕获Spark错误

来自分类Dev

在bash脚本中捕获mysqldump错误

来自分类Dev

跳过shell脚本中的捕获错误

来自分类Dev

从外部脚本中的函数捕获错误

来自分类Dev

如何在Shell脚本中获取Java应用程序的退出状态,标准输出和标准错误流?

来自分类Dev

如何捕获修改当前环境的功能的标准错误?

来自分类Dev

如何捕获通过Invoke-Expression调用的Powershell脚本中的错误?

来自分类Dev

如何在 Shell 脚本中建立远程连接时捕获错误

来自分类Dev

使用Expect脚本从ssh捕获输出

来自分类Dev

在bash脚本中,如何逐行捕获stdout

来自分类Dev

在 WebBrowser 的错误处理程序中捕获“脚本错误”

来自分类Dev

如何在变量和管道标准输出中捕获stderr

来自分类Dev

如何从标准输出和标准错误中删除^ M

来自分类Dev

如何在Expect脚本中查找文件是否存在

来自分类Dev

如何从Expect脚本中的命令获取退出状态

来自分类Dev

如何在Expect脚本中查找文件是否存在

来自分类Dev

如何(临时)捕获标准输出

来自分类Dev

Chrome扩展程序:如何全局捕获/处理内容脚本错误?

来自分类Dev

在Powershell脚本中尝试/捕获AWS CLI错误

来自分类Dev

捕获Shell脚本中语法错误的数量

来自分类Dev

脚本写入标准输出和标准错误时如何防止Cron电子邮件

来自分类Dev

如何在bash中捕获mysql错误

来自分类Dev

如何捕获XQuery 3.0中的错误?

Related 相关文章

热门标签

归档