如何将文件列表复制到目录?

时间:2019-04-26 18:08:28

标签: arrays bash shell

当我将$(pwd)分配给变量时,我无法将其作为cp的路径传递:

files=$(find /mnt/eee/ttt/*)
pwd 
/mnt/xxx/yyy

path=$(pwd)

echo $path 
mnt xxx yyy

当我在cp中使用路径

$files | cp $a
cp: target ‘xxx’ is not a directory

2 个答案:

答案 0 :(得分:0)

cp不会从stdin中读取文件名,因此将列表传送到cp中是徒劳的。您是否可能将cpcpio混淆了?它们是不同的程序。

您需要运行cp {list of files} {destination directory},例如

cp $files $path

如果要将所有文件复制到当前工作目录,则应使用.以便于简化和可读性(.表示当前工作目录):

cp $files .

请务必使用cp阅读man cp手册页,您将立即成为Shell向导:-)

答案 1 :(得分:-1)

您也许可以使用以下代码:

cp $file1 && file2 &&