【问题标题】:cygwin's expect doesn't work with net use?cygwin 的期望不适用于网络使用?
【发布时间】:2010-02-10 16:45:42
【问题描述】:

我需要在 cygwin 上自动执行“net use”命令。

命令是'net use /user:"name" \somewhere'。并且 'Enter the password for 'name' to connect to 'prosseek':' 应输入密码。

它适用于命令行输入,以及在批处理文件中运行时。 当我按如下方式制作期望脚本时它不起作用。

spawn net use /user:"name" \\prosseek\somewhere 期望“输入'name'的密码以连接到'prosseek':” 发送“密码\n” 相互影响

我收到如下错误消息。

spawn net use /user:"name" \prosseek\somewhere 发生系统错误 67。

找不到网络名称。

发送:无效的生成 id (4) 在执行时 "发送"密码\n"" (文件“conpros”第 9 行)

  • 问:可能出了什么问题?
  • 问:诸如“net use”之类的 MS 命令能否与 cygwin/expect 一起使用?

【问题讨论】:

    标签: networking cygwin expect mount smb


    【解决方案1】:

    您可能无法将 Cygwin 的 expect 用于非 cygwin 程序; Cygwin 模拟 posix ptys,而 Windows 程序使用 Windows 自己的终端处理代码,它对期望尝试读取和写入的管道一无所知。

    你也未能在期望中逃脱你的反斜杠;请注意,错误消息提供的字符串与您传入的字符串不同。

    【讨论】:

      【解决方案2】:

      这里可能有一些建议:

      你能探索到\prosseek\某个地方吗?如果是这样,我想您可能需要转义反斜杠 \\proseek\somewhere。

      网络名称片段也可能表明它无法解析主机名。

      【讨论】:

        猜你喜欢
        • 2016-03-24
        • 1970-01-01
        • 2022-06-20
        • 2013-09-07
        • 1970-01-01
        • 1970-01-01
        • 2012-04-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多