0

ターミナルにファイルをアップロードさせようとしています。この場合は file.txt 残念ながら、何を試してもうまくいきません。

#!/bin/bash

HOST=*  
USER=*      
PASS=* 

# I'm 100% sure the host/user/pass are correct. 
#Terminal also connects with the host provided

ftp -inv $HOST << EOF
user $USER $PASS

cd /Users/myname/Desktop

get file.txt #which is located on my desktop

bye
EOF  

100 種類のスクリプトを試しましたが、アップロードできません :(

これは、.sh ファイルに保存し、chmod +x を実行して .sh ファイルを sudo した後の出力です。

Connected to *hostname*.
220 ProFTPD 1.3.4b Server ready.
331 Password required for *username*
230 User *username* logged in
Remote system type is UNIX.
Using binary mode to transfer files.
550 /Users/myname/Desktop: No such file or directory
local: file.txt remote: file.txt
229 Entering Extended Passive Mode (|||35098|)
550 file.txt: No such file or directory
221 Goodbye.
myname:Desktop Myname$ 

ここで同じ問題に関する他の多くのトピックを閲覧しましたが、理解できません。私は今朝から UNIX をいじり始めたので、この (おそらく) ばかげた質問で失礼します。

4

4 に答える 4

1

Alfe の言うとおりですput <filename>。ファイルを FTP にアップロードするには、 を使用する必要があります。ここでクイックガイドを見つけることができます。基本的な FTP ツールを使用して可能であるはずですが、ncftp もお勧めします :-)

于 2013-05-27T12:27:58.043 に答える
1

あなたは使用していますが、アップロードgetについて話しています。おそらくあなたはただ使いたいだけですか?put

ftpとにかく、これが基本的なクライアントを使用して実行できるかどうかはわかりません。私はいつもncftpこのようなものに使用しています。ncftpputこれには、タスクを実行するためのコマンド ライン引数とオプションを受け入れるようなコマンド ライン ユーティリティが付属しています。

于 2013-05-27T12:25:53.873 に答える
1

putファイルをアップロードするには、を使用する必要があります。

于 2013-05-27T12:29:40.703 に答える
1

試す:

#!/bin/bash

HOST=*  
USER=*      
PASS=* 

# I'm 100% sure the host/user/pass are correct. 
#Terminal also connects with the host provided

cd /Users/myname/Desktop # Go the the local folder where the file is located in

ftp -inv $HOST << EOF
user $USER $PASS

cd /User/$USER/Desktop # Go to the folder in which you want to upload the file

put file.txt #which is located on my desktop

bye
EOF  

したがって、put を使用して、ファイルが現在の作業ディレクトリであり、リモート ディレクトリが存在することを確認してください。

于 2013-05-27T12:32:10.053 に答える