我是一个新的打击脚本。在学习高级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/

10-13 07:21