2011-11-01 24 views
1

我在寫一個腳本時遇到了很多麻煩,文件到遠程FTP服務器AIX w/bash:ftp stdin腳本,不能「put file -`date +」%Y%m%d「`

我們有這種格式的文件生成軟件:

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

我的問題是,我不能讓FTP擴大該日期的表情,我想成爲能夠做一個簡單的:

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

from .netrc或stdin like:

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

我已經試過這些,但FTP需要的日期表達字面上,我得到一個 「文件名1 - `date ....找不到文件」

有誰知道一個方式,我可以得到這個解決?

此外,有沒有人知道,如果你可以在命令行上指定ftp子命令? 我無法找到它的例子。如果可能的話,bash會擴展日期表達式並將其傳遞給ftp,但是我沒有找到符合該法案的任何選項。

我使用bash shell

謝謝!

回答

3

ftp程序不執行shell擴展。有一件事你可以做的是:

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

這裏的文件將由Bash擴大做你想做的。

+0

非常感謝,作品像魅力! – jonschipp

相關問題