我有一个映射两个驱动器的 Perl 脚本,然后将其中一个驱动器的文件复制到另一个驱动器。Perl 脚本位于 Windows 机器上,但我们是从 Linux 机器通过 SSH 连接到 Windows 机器以执行脚本。当我直接从 Windows 框中运行脚本时,一切正常,驱动器被映射并且文件被成功复制。当我尝试通过 SSH 从我的 Linux 机器执行脚本时,脚本失败并且我得到以下输出:
本地设备名称已被使用。 错误映射源 \\xxx.xxx.net\localdirectory
尝试映射第一个驱动器时会发生此错误,我不知道它是否会在第二个驱动器上失败,因为它还没有做到那么远。
我还有其他几个以相同方式执行的 Perl 脚本(通过 ssh 从 Linux 到 Windows 机器)并且它们执行没有问题,但这是唯一一个映射驱动器的脚本。这是我用来执行脚本的代码:
#!/bin/sh
ssh -t -t user@server "cd /Path/to/Perl/Script; /cygdrive/C/Perl/bin/perl.exe Script.pl"