找不到Spawn命令

尝试运行.sh文件时出现错误

第2行:生成:未找到命令
“: 没有这样的文件或目录
bash.sh:第3行:期望:找不到命令
bash.sh:第4行:发送:找不到命令
#!/usr/bin/expect -f
spawn sftp -o IdentityFile=MyFile.ppk [email protected]
expect "XXX.XXX.XXX.XXX.gatewayEnter passphrase for key 'MyFile.ppk.ppk':"
send "myPassword"

知道为什么会发生吗?

数字创伤

它对我来说正常(来自sftp:的错误ssh: Could not resolve hostname XXX.XXX.XXX.XXX: Name or service not known),尽管)脚本.sh扩展名有点令人讨厌;-)

通常,当发生这种无法解释/无法预测的行为时,这是因为脚本是在(notepad.exe)下编辑的,而\r\n用来分隔行的。这对 / 脚本造成了严重破坏,因为只能\n将其用作行定界符。

您可以使用dos2unixunix2dos实用工具,以这两种格式之间的转换。作为实验,我将您的脚本转换为“ dos”格式,并且确定有类似的错误:

ubuntu@ubuntu:~$ unix2dos bash.sh 
unix2dos: converting file bash.sh to DOS format ...
ubuntu@ubuntu:~$ ./bash.sh 
": no such file or directory
ubuntu@ubuntu:~$ dos2unix bash.sh 
dos2unix: converting file bash.sh to Unix format ...
ubuntu@ubuntu:~$ ./bash.sh 
spawn sftp -o IdentityFile=MyFile.ppk [email protected]
ssh: Could not resolve hostname XXX.XXX.XXX.XXX: Name or service not known
Couldn't read packet: Connection reset by peer
send: spawn id exp6 not open
    while executing
"send "myPassword""
    (file "./bash.sh" line 4)
ubuntu@ubuntu:~$ 

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章