Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
file に 3 行あります/root/backuplist.txt。
/root/backuplist.txt
最初のechoものは完全に印刷されますが、最後のものは空行を印刷します。理由はわかりません。どういうわけか、$DIRS値が設定されていません。
echo
$DIRS
#!/bin/bash cat /root/backuplist.txt | while read line do DIRS+="$line " echo $DIRS done echo $DIRS
問題は、ここでパイプを使用することです。これは、ループのサブシェルをフォークしているため、親シェルでは表示されない子シェルで変更が行われています。ここは別に不要です。whileDIRScat
while
DIRS
cat
このようにしてください:
#!/bin/bash while read -r line do DIRS+="$line " echo "$DIRS" done < /root/backuplist.txt echo "$DIRS"