Ubuntu$ ls -1
file1 file2
Ubuntu$ ls -1 | xargs -I{} echo -n {}{}{}
file1file1file1file2file2file2
为什么我不按此顺序获得结果?:file1file2file1file2file1fil2
答案 0 :(得分:4)
因为xargs
为其输入中的每个单词执行命令(echo
)。当然{}
每次都是一样的。即使你重复多次。
您可以使用for
:
ls=$(ls -1)
for i in {1..3}
do
echo $ls
done
使用示例:
$ mkdir d ; cd d
<d>$ touch file1 file2 file3
<d>$ ls=$(ls -1)
<d>$ for i in {1..3}
> do
> echo $ls
> done
file1 file2 file3
file1 file2 file3
file1 file2 file3