size=$(grep -v "^#" < $cfgpath | {
size=0
while read -t 1 mountpoint sz; do
let "size = size + sz"
done
echo $size
})
Bash compound command
Не знает ли кто, как можно заставить присваивание внутри {} секции работать для всего скрипта, если данная секция использовалась в pipe.
Ситуация: не хочется засорять систему tmp файлами, поэтому делаю следующее:
size=0
cat $cfgpath | grep -v "^#" | {
while read -t 1 mountpoint sz
do
let "size = size + sz"
done
}
Но переменная size остается равной нулю.
Если же использовать {} вне pipe, то присваивания не теряются.
Спасибо.
В Вашем случае можно поступить так:
Код: