我试图将一堆文件连接成一个字符串,以便我可以将它们用于一个函数。 作为测试脚本,我试图这样做:
#!/bin/bash
for line in $(cat list.txt)
do
x=" "
A=$A$line$x
done
echo "$A"
mv "$A" ./stuff
但我收到了错误:
mv: cannot stat ‘x.dat y.dat z.dat ’: No such file or directory
但他们绝对是
我可以得到一些建议吗?答案 0 :(得分:1)
此解决方案也将使用空格处理文件名。
#!/bin/bash
mapfile -t lines < list.txt
echo "${lines[@]}"
mv "${lines[@]}" ./stuff/
它将文件的全部内容读入数组变量,显示整个数组的内容,最后在mv命令中使用这些值
答案 1 :(得分:0)
mv $A ./stuff
这应该适用于名称中没有空格的文件。