Классный вопрос. Насколько мне известно, этого нельзя сделать только с Башом, как сказал Дэвид Постил. Но, как он предположил, вы можете (ab) использовать подсказку для этой цели. Вот пример использования escape-последовательностей ANSI для достижения эффекта строки состояния :-)
PS1='\[\e[s\e[1;1H\e[41;1m\e[K\e[33;1m\][ *** \t *** ]\[\e[0m\e[u\]\w> '
Этот просто отображает текущее время в «строке состояния», а также отображает обычное приглашение. Пара заметок:
\e[
вводит большинство специальных команд\e[s
сохраняет текущую позицию курсора\e[1;1H
позиционирует курсор в строке 1, столбце 1\e[...m
изменить (передний и задний фон) цвета\e[K
очищает до конца строки\e[u
восстанавливает позицию курсора\[
и\]
разделять непечатаемые символы в приглашении; они позволяют Bash вычислить точную длину подсказки. В принципе, вы могли бы обойтись без них, но тогда подсказка не будет корректно обновляться в многострочной команде (но недостатки видны ниже)
Я не предлагаю вам серьезно относиться к этому решению. У него есть серьезные недостатки:
- трудно читать и хрупко
- строка состояния обновляется только при обновлении приглашения; т.е. когда управление возвращается в оболочку (как я прочитал ваш вопрос, очень большой недостаток)
- многострочные команды не отображаются должным образом (курсор перезапускается на первой строке)
Но, тем не менее, я надеюсь, вам понравится! :)