Unix и базовые FTP загрузки


Unix и базовые FTP загрузки

27.05.2013 04:22:00 Просмотров 70 Источник

Я пытаюсь заставить терминал загрузить файл для меня, в данном случае: файл.формат 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 и sudo файл .sh:

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 с сегодняшнего утра, так что извините меня за этот (вероятно) глупый вопрос.

У вопроса есть решение - Посмотреть?

Ответы - Unix и базовые FTP загрузки / UNIX basic ftp upload

Alfe

27.05.2013 04:25:53

Вы используете get, но говорите о загрузке . Возможно, вы просто хотите использовать put?

В любом случае, я не уверен, что это можно сделать с помощью базового ftp-клиента. Я всегда использую ncftpдля подобных вещей. Это поставляется с утилитами командной строки, такими как ncftpput, которые принимают аргументы командной строки и параметры для выполнения задачи.

Dustin Klein

27.05.2013 04:27:58

Alfe прав, вам нужно использовать put <filename>, чтобы загрузить файл на FTP. Вы можете найти краткое руководство ЗДЕСЬ . Это должно быть возможно с помощью основного инструмента FTP, но я бы также рекомендовал ncftp :-)

Djon

27.05.2013 04:29:40

Вы должны использовать put, чтобы загрузить файл.

Является ответом!
gamag

27.05.2013 04:32:10

Попробуй:

#!/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 и убедитесь, что ваш файл является текущим рабочим каталогом, а удаленный каталог существует.

https://stackoverflow.com/questions/16773124/unix-basic-ftp-upload/16773307#comment24167004_16773307
Действительно, Omg. Я перечитал сценарий пару раз... Я знал, что должен использовать put, но я просто не видел, что я использую put X_X спасибо!
Помочь в развитии проекта:
Закрыть X