FreePBX никогда не сжимает свободное пространство в astdb. Вы можете добавить ручное задание sqlite3 script / cron, которое каждую ночь сжимает AstDB. Например:
sqlite3 /var/lib/asterisk/astdb.sqlite3 "VACUUM;"
Это одна из многих "интересных" особенностей FreePBX.
Вы не использовали инструмент для форматирования вывода, и поскольку $i
становится шире, вывод не выравнивается.
Заменить
echo "$i $OK"
с
printf "%-50s %s\n" "$i" "$OK"
(замените "foo" фактической строкой ).
где
50s
— строка из 50 символов фиксированной ширины, -
(минус )влево -выравнивание строки. man 3 printf
. Используйте следующий printf
подход для получения необходимого результата:
#!/bin/bash
for i in a aa aaa aaaa aaaaaa aaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaa; do
printf '%-50sOK\n' $i
done
Вывод сценария:
a OK
aa OK
aaa OK
aaaa OK
aaaaaa OK
aaaaaaaaaaaaaaaaa OK
aaaaaaaaaaaaaaaaaaaaaaaaaa OK
OK
-при перемещении статической строки в ФОРМАТ(printf FORMAT [ARGUMENT]
)
$i
-считается printf
аргументом
Простой способ:
направьте ваш скрипт наcolumn -t
$ script.sh | column -t
a OK
aa OK
aaa OK
aaaa OK
aaaaaa OK
aaaaaaaaaaaaaaaaa OK
aaaaaaaaaaaaaaaaaaaaaaaaaa OK