Bash 为什么ls-1 | xargs-I{}echo-n{}{}{}{}没有按正确的顺序打印?

Bash 为什么ls-1 | xargs-I{}echo-n{}{}{}{}没有按正确的顺序打印?,bash,printing,xargs,ls,Bash,Printing,Xargs,Ls,文件1文件2 Ubuntu$ ls -1 文件1文件1文件1文件2文件2文件2 为什么不按此顺序获取结果呢?:file1file2file1file2file2file1fil2因为xargs对输入中的每个单词执行命令(echo)。当然,{}每次都是一样的。即使你重复了很多次 您可以使用for执行您想要的操作: Ubuntu$ ls -1 | xargs -I{} echo -n {}{}{} 用法示例: ls=$(ls -1) for i in {1..3} do echo $ls d

文件1文件2

Ubuntu$ ls -1
文件1文件1文件1文件2文件2文件2


为什么不按此顺序获取结果呢?:file1file2file1file2file2file1fil2

因为
xargs
对输入中的每个单词执行命令(
echo
)。当然,
{}
每次都是一样的。即使你重复了很多次

您可以使用
for
执行您想要的操作:

Ubuntu$ ls -1 | xargs -I{} echo -n {}{}{}
用法示例:

ls=$(ls -1)
for i in {1..3}
do
  echo $ls
done
$mkdir d;cd-d
$touch文件1文件2文件3
$ls=$(ls-1)
{1..3}中的i为$
>做
>echo$ls
>完成
文件1文件2文件3
文件1文件2文件3
文件1文件2文件3

因为
xargs
对输入中的每个单词执行命令(
echo
)。当然,
{}
每次都是一样的。即使你重复了很多次

您可以使用
for
执行您想要的操作:

Ubuntu$ ls -1 | xargs -I{} echo -n {}{}{}
用法示例:

ls=$(ls -1)
for i in {1..3}
do
  echo $ls
done
$mkdir d;cd-d
$touch文件1文件2文件3
$ls=$(ls-1)
{1..3}中的i为$
>做
>echo$ls
>完成
文件1文件2文件3
文件1文件2文件3
文件1文件2文件3

如果您提供更多信息,您可能会得到更具体的答案。如果您提供更多信息,您可能会得到更具体的答案。