我很困惑的SFTPshell脚本和任何帮助将不胜感激。 我写了一个sftp脚本来连接并将ACH信息上传到银行网站。 脚本使用'expect'来等待来自远程站点的响应。 该脚本在RedHat服务器上运行,版本5.11。
如果我从我的主目录或我的临时目录运行这个脚本,远程主机用“Password:”响应login,并且我的SFTP脚本正常运行。 如果我从专用于存储由CRON使用的shell脚本的目录运行此脚本,则远程服务器将响应“input密钥”/ prod / apps / xxxxxx / batchjobs / ACRO_privatessh“,然后我的SFTP脚本挂起期望的响应与从远程服务器发送的不匹配。
除脚本运行目录以外的所有其他部分保持不变。 这包括权限,所有权和执行脚本的userId。 换一种说法,我可以从我们的batchjobs目录执行脚本,因为服务器响应是错误的,所以挂起。 然后,我可以将该脚本复制到我的主目录,并且脚本执行并完成,因为服务器响应是“正确的”。
在此先感谢您的帮助。
-担
当您从homedir,temp目录或其他地方运行脚本时,$ SFTPKEY的内容无效(读取:不指向有效privkey),因此不使用。 当你从家里“通常”运行它时,脚本find/prod/apps/xxxxxx/batchjobs/ACRO_privatessh并尝试使用它。 "$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )输出脚本所在目录的名称。
你有几个select: