我在文件/root/backuplist.txt
中有3行。
第一个echo
完美打印,但最后一个打印空行;我不知道为什么。不知何故,$DIRS
值未被设置。
#!/bin/bash
cat /root/backuplist.txt |
while read line
do
DIRS+="$line "
echo $DIRS
done
echo $DIRS
答案 0 :(得分:3)
问题是在这里使用管道,为你的while
循环分支,因此正在子shell中对DIRS
进行更改在父shell中不可见。此处不需要cat
。
这样做:
#!/bin/bash
while read -r line
do
DIRS+="$line "
echo "$DIRS"
done < /root/backuplist.txt
echo "$DIRS"