【问题标题】:Transfer files of different extensions from one server to another on linux?在Linux上将不同扩展名的文件从一台服务器传输到另一台服务器?
【发布时间】:2013-09-30 14:59:28
【问题描述】:

以下是本地服务器中我的 InputLocation 中的文件

-rw-r----- 1 root root 0 Sep 25 15:03 one.xml
-rw-r----- 1 root root 0 Sep 25 15:03 two.xml
-rw-r----- 1 root root 0 Sep 25 15:03 data.csv
-rw-r----- 1 root root 0 Sep 25 15:03 free.png
-rw-r----- 1 root root 0 Sep 25 15:04 loaded.jpeg

我可以使用以下命令传输文件

scp ${InputPath}/*.{jpeg,xml} ${user}@${HostName}:$OutputPath

但我试图将 extns 放入如下变量中

FilesExtnsToBeTransfered=jpeg,xml
scp ${InputLocation}/*.{$FilesExtnsToBeTransfered} ${user}@${HostName}:$OutputPath

但尽管文件可用,但我收到以下异常

InputLocation/*.{jpeg,xml}: No such file or directory

有什么帮助吗?

【问题讨论】:

    标签: unix ssh sftp scp


    【解决方案1】:

    说:

    FilesExtnsToBeTransfered=jpeg,xml
    echo {$FilesExtnsToBeTransfered}
    

    将导致{jpeg,xml}不会执行大括号扩展)。

    你有两个选择:

    1. (丑陋,不推荐):使用eval

      eval scp ${InputLocation}/*.{$FilesExtnsToBeTransfered} ${user}@${HostName}:$OutputPath

    2. 将所需的文件扩展名放在一个数组中:

    EXTNS=( jpeg xml )
    for i in "${EXTNS[@]}"; do
      scp ${InputLocation}/*.$i ${user}@${HostName}:$OutputPath
    done
    

    【讨论】:

      猜你喜欢
      • 2013-10-01
      • 2011-11-05
      • 1970-01-01
      • 1970-01-01
      • 2014-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-26
      相关资源
      最近更新 更多