AIX w / bash: скрипт ftp stdin, не может «поместить файл-`дата «%Y%m%d»`

#bash #ftp #stdin #aix

#bash #ftp #стандартный #aix

Вопрос:

У меня много проблем со сценарием, который я пишу, который будет загружать файл на удаленный ftp-сервер.

У нас есть программное обеспечение, которое генерирует файлы в этом формате:

 filename-`date  "%Y%m%d"`
 

Моя проблема в том, что я не могу заставить ftp расширить это выражение даты, я хотел бы иметь возможность сделать простой:

 put filename1-`date  "%Y%m%d"` 
 

из .netrc или из stdin, например:

 ftp -n ftp.server.com < ftpcommands.txt
 

Я пробовал это, но ftp принимает выражение даты буквально, и я получаю
«filename1-`дата….файл не найден»

Кто-нибудь знает способ, которым я мог бы решить эту проблему?

Кроме того, кто-нибудь знает, можете ли вы указать подкоманды ftp в командной строке? У меня возникли проблемы с поиском примеров на нем. Если это возможно, то bash расширит выражение даты и передаст его на ftp, но я не нашел подходящих вариантов.

Я использую оболочку bash

Спасибо!

Ответ №1:

Программа ftp не выполняет расширения оболочки. Одна вещь, которую вы могли бы сделать, это:

 ftp -n ftp.server.com << EOF
# insert other commands here
put filename1-$(date  "%Y%m%d")
EOF
 

Здесь-документ будет расширен Bash, чтобы делать то, что вы хотите.