【发布时间】:2016-11-13 00:46:48
【问题描述】:
我需要一些帮助,将以下代码从 Batch 转换为我的 Mac 的 Bash。它只是一个简单的程序,可以从我的计算机中获取文件并将其放入 ftp 服务器:
在批处理文件中:
ftp -s:FTP.txt ftp.example.com
在 FTP.txt 文件中:
*user*
*password*
cd /files/
put "C:\Users\*username*\Pictures\image.jpg"
所以在几个小时的研究的帮助下,我几乎得到了等价物,但仍然需要一些帮助:
#!/bin/sh
HOST='ftp.example.com'
USER='*user*'
PASS='*password*'
FILE='/Users/*username*/Desktop/image.jpg'
ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASS
cd /files/
put $FILE
quit
END_SCRIPT
这不太行,它登录,然后更改当前目录,但是说:
local: /Users/*username*/Desktop/image.jpg remote: /Users/*username*/Desktop/image.jpg
Can't open that file: No such file or directory.
然后继续注销。我检查了目录路径,完全没问题,我什至可以打开另一个终端并执行 cd /Users/username/Desktop/image.jpg 并且它可以工作。
感谢任何帮助,谢谢。
【问题讨论】:
-
尝试使用
$USER变量作为/Users/$USER/Desktop/image.jpg -
你这是什么意思?这对我来说没有意义......你能发送一个代码 sn-p 吗?
-
尝试将
FILE定义为FILE='/Users/$USER/Desktop/image.jpg' -
$USER 是 FTP 服务器的用户名,而不是我的计算机名。我只是删掉了用户名,它真的是 FILE='/Users/Sean/Desktop/image.jpg'
标签: bash macos batch-file ftp