Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SFTP脚本无法更改目录问题_Sftp_Expect - Fatal编程技术网

SFTP脚本无法更改目录问题

SFTP脚本无法更改目录问题,sftp,expect,Sftp,Expect,我对以脚本格式使用sftp(MacOSX High Sierra上的bash shell)比较陌生。我在登录到远程服务器后更改目录时遇到问题。我想cd到“FTP PDF(下载)到CR” 以下是我的脚本(已编辑): 这实际上只是一个格式化的评论,扩展了@meuh的评论 你的报价有问题。你可以使用单引号或引号来让你的生活更轻松 #!/bin/bash expect <<'END_EXPECT' spawn sftp ClaimReturn@8.19.132.155 expect "Pas

我对以脚本格式使用sftp(MacOSX High Sierra上的bash shell)比较陌生。我在登录到远程服务器后更改目录时遇到问题。我想cd到“FTP PDF(下载)到CR” 以下是我的脚本(已编辑):


这实际上只是一个格式化的评论,扩展了@meuh的评论

你的报价有问题。你可以使用单引号或引号来让你的生活更轻松

#!/bin/bash
expect <<'END_EXPECT'
spawn sftp ClaimReturn@8.19.132.155
expect "Password"
send "xxxxxxx\r"
expect "sftp>"
send "cd 'CR Reports'\r"  
#DIR TO CD to "CR REPORTS"
expect "sftp>"
send "bye\r"
expect "#"
END_EXPECT

可能我的脚本命令不太清楚:script command to cd to remote'CR Reports'dir:expect\'sftp>\'send\'cd CR\Reports\r\'expect\'sftp>\'send\'cd CR\Reports\r\'br/>您应该在远程名称中使用单引号,而不是反斜杠,例如:
发送\“cd'CR Reports'\r\”
,因为反斜杠被shell删除,因为您位于双引号字符串中。但是,既然您的shell脚本只包含expect命令,为什么不将其转换为expect脚本呢。谢谢……Windows使用空格命名目录的标准一直给我带来问题……我编写的软件可以/应该在任何平台/操作系统上运行,所以我总是使用“u”而不是“…但这就是我(一个旧的摩托罗拉面向进程的开发人员)我正在做的另一个DUOH是在.sh shell而不是.sftp中执行sftp命令
#!/bin/bash
expect <<'END_EXPECT'
spawn sftp ClaimReturn@8.19.132.155
expect "Password"
send "xxxxxxx\r"
expect "sftp>"
send "cd 'CR Reports'\r"  
#DIR TO CD to "CR REPORTS"
expect "sftp>"
send "bye\r"
expect "#"
END_EXPECT
#!/usr/bin/expect -f
spawn sftp ClaimReturn@8.19.132.155
expect "Password"
send "xxxxxxx\r"
expect "sftp>"
send "cd 'CR Reports'\r"  
#DIR TO CD to "CR REPORTS"
expect "sftp>"
send "bye\r"
expect "#"