yourcommand | { I=0; while read; do printf "$((++I))\r"; done; echo ""; }
Или помещенный раздел на кронштейнах в сценарий оболочки. Обратите внимание, что это только работает, если Ваша оболочка на самом деле поддерживает преинкрементный оператор, как удар или ksh93 или zsh. Иначе необходимо будет увеличить $I
и затем распечатайте его (как в I=$((I+1));printf...
). Кроме того, если printf
не встроенное с Вашей оболочкой (это - встроенное с текущим ударом), Вы могли использовать echo -ne
или print -n
вместо этого для лучшей производительности. Вы просто хотите подавить новую строку и интерпретировать \r как символ ESC.
] Вы можете закрыть дескриптор файла, в котором []flock[
] поддерживает блокировку перед запуском программы, которую вы хотите запустить разблокированным.[
(
flock -n 9 || exit 120
…
(exec 9>&-; tomcat &)
) 9>/var/run/my.lock
]