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