gpt4 book ai didi

linux - 将单个文件复制到多个目标时“目标不是目录”

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:24:18 24 4
gpt4 key购买 nike

所以我正在尝试复制一个文件(Nicholas Cage 的照片,不要问),以便它替换整个充满 phpBB 用户头像的文件夹(快到 4 月 1 日了!)。但是,我得到了这样的回复:

joe@yada:~/upload$ for i in "ls *"; do cp ~/cage.jpg $i; done
cp: target `0e88f82965461cc1b418ddfda60935c8_99.jpg' is not a directory

我如何告诉 cp 在这种情况下,一切都是文件?

谢谢!

最佳答案

您使用的语法不正确。以下命令

for i in "ls *"

使用bash通配符扩展,将实际的字符串转化为

for i in "ls file1 file2 dir1 so_on 0e88f82965461cc1b418ddfda60935c8_99.jpg"

并将该字符串值分配给 i

下一个cp尝试执行

cp ~/cage.jpg ls file1 file2 dir1 so_on 0e88f82965461cc1b418ddfda60935c8_99.jpg

在检查是否有任何输入文件无效之前,它会检查目标是否是一个目录,如果不是,因此会出现错误。

要更正它,将 "ls *" 更改为 $(ls *),或者更好的只是 * 以避免不必要的子 shell 调用

关于linux - 将单个文件复制到多个目标时“目标不是目录”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15735536/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com