我从Windows服务器运行命令以下。我已经添加了私钥,因此身份验证很明智。但是当我运行命令时遇到一个奇怪的问题
psftp user@host -b FTPfile.txt
文件FTPfile.txt只有两行。
cd /apps/scripts/batch/sln/input
put Test.txt
但我收到错误psftp: unknown command "´╗┐cd"
我注意到文件第一行中给出的任何命令都会返回类似的错误。
答案 0 :(得分:1)
问题是FTPfile.txt
以UTF-8编码的Unicode byte order mark(U + FEFF)开头,对应于字节0xEF 0xBB 0xBF。 psftp认为这些字节是命令名称的一部分。当它将这些字节作为错误消息的一部分打印到控制台时,它们会根据code page 850进行解释,这使它看起来像´╗┐
。
要解决此问题,您需要摆脱BOM。你是如何创建FTPfile.txt
的? Windows文本编辑器通常有一个设置来将文件的编码更改为" ANSI" (纯ASCII也可以。)