Portál AbcLinuxu, 12. listopadu 2025 22:30
ls /var/lib/mysql/namedb/*.MYD | while read FILE
do
SUM=($(du -hsb "$FILE"))
SUM=$(($SUM+$SUM))
done
echo "Total bytes:" $TOTAL
edit echo "Total bytes: $SUM"
while read FILE; do ... ; done <<<"$(ls ...)"což je jen substituce a přesměrování, nikoli roura.
Roura vytváří subshell, takže nastavení proměnných po jejím skončení zmizí.Aha, a kde vidíš že mám rouru? Díky
a kde je uložený ten výsledek? Žádnou proměnou nevidím. Díkwhile read FILE; do ... ; done <<<"$(ls ...)"
du -scb /var/lib/mysql/namedb/*.MYD | tail -n1
Ja napríklad keď chcem spočítať obsah adresára tak použijem príkaz du -sh.
Môžeš si to upraviť podľa seba.
du -sh *.MYD
Až teraz som zistil, že to nerobí to čo chceš.
Skús to zadať takto du -ch. Síce to výpíše aj veľkosti adresárov ale nakoniec napíše ceľkovú veľkosť. Vybrať len koniec môžeš pomocou príkazu grep -E "total".
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.