<分区>
我是 bash 脚本的新手。在学习高级 bash 脚本时,我遇到了这个命令。我不明白命令是如何工作的以及大括号的用途是什么。提前致谢。
<分区>
我是 bash 脚本的新手。在学习高级 bash 脚本时,我遇到了这个命令。我不明白命令是如何工作的以及大括号的用途是什么。提前致谢。
最佳答案
你的命令:
ls . | xargs -i -t cp ./{} $1
可以分为以下几个部分:
ls .
列出当前目录(这将列出除隐藏文件之外的所有文件/目录)
| xargs -i -t cp ./{} $1
基本上,xargs 会破坏管道输出(在本例中为 ls),并将列表中的每个元素作为以下命令(在本例中为 cp)的输入提供。 -t 选项是在 stderr 中显示 xargs 实际执行的内容。 -i 用于字符串替换。在这种情况下,由于没有提供任何内容,它将用输入替换 {}。 $1 是您的文件将被复制到的目的地的名称(我想在这种情况下它应该是命令有意义的目录,否则您将把所有文件复制到同一个目的地)。
例如,假设您有一个目录,其中包含名为 a、b、c 的文件。当您运行此命令时,它将执行以下操作:
cp ./a $1
cp ./b $1
cp ./c $1
注意:
-i 选项已弃用,应改用 -I(大写 i)
关于linux - 这个命令 ls 的作用是什么。 | xargs -i -t cp ./{} $1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33141207/