【问题标题】:AIX w/bash: ftp stdin script, can't "put file-`date +"%Y%m%d"`AIX w/bash:ftp stdin 脚本,不能“放置文件-`date +”%Y%m%d”`
【发布时间】:2011-11-01 17:45:50
【问题描述】:

我正在编写一个将文件上传到远程 ftp 服务器的脚本时遇到很多问题。

我们有软件可以生成这种格式的文件:

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

我的问题是我无法让 ftp 扩展那个日期表达式,我想做一个简单的:

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

来自 .netrc 或来自标准输入,例如:

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

我已经尝试过这些,但是 ftp 从字面上获取日期表达式,我得到一个 "filename1-`date....文件未找到"

有谁知道我可以解决这个问题的方法吗?

另外,有谁知道您是否可以在命令行上指定 ftp 子命令? 我很难找到关于它的例子。如果这是可能的,那么 bash 会扩展日期表达式并将其传递给 ftp,但我还没有找到任何符合要求的选项。

我正在使用 bash shell

谢谢!

【问题讨论】:

    标签: bash ftp stdin aix


    【解决方案1】:

    ftp 程序不执行外壳扩展。您可以做的一件事是:

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

    Bash 将扩展 here-document 以执行您想要的操作。

    【讨论】:

      猜你喜欢
      • 2018-02-10
      • 2016-12-20
      • 1970-01-01
      • 1970-01-01
      • 2021-03-09
      • 1970-01-01
      • 2021-11-26
      • 1970-01-01
      • 2021-05-16
      相关资源
      最近更新 更多