楼主:
LIAR (玻璃做的大叔)
2018-02-24 12:44:02我需要在bash里面把上万笔的资料丢到array中,我用过两种方式
mapfile -t -s 1 lines<<<$(ls -lrt /tmp/)
echo ${lines[@]}
新版的clonezilla这个命令是有效的。2.4.5-23版或centos则是空的。
mapfile -t -s 1 lines< <(ls -lrt /tmp/)
echo ${lines[@]}
这样有东西。
那个<<<中间两个或三个没有,和$的有无是搭配的,不能混用,不然会错。
我看鸟哥的教学,我只用过 $(command) 这种方式。但反而这个写法无法得到array。
虽然有爬文找redirection和Here Strings的解释,但我还是搞不懂两种写法的差别,
而且也搞不懂clonezilla新旧版的执行结果为何也不同。
请问有人知道两种写法的差别和原理吗?