Howto:
1. Запиливаем программу, которая не переходит в конце на новую строку (ну забыл я в первый раз printf(«\n»);)
https://dl.dropbox.com/u/31471800/p2p/Lorbug/1.png
2. Запускаем
https://dl.dropbox.com/u/31471800/p2p/Lorbug/2.png
3. Видим, что забыли «\n», но фиг с тобой, золотая рыбка, запустим еще раз то же самое (вызов предыдущей команды в ~/bash-history, по умолчанию - стрелка «вверх»):
https://dl.dropbox.com/u/31471800/p2p/Lorbug/3.png
4. Потом подумали, ай, надо же исправить! Полезли в vim/emacs/nano/gedit/geany/code::blocks и исправили программу. Надо же перекомпилить! Жмакаем стрелку «вверх» еще раз:
https://dl.dropbox.com/u/31471800/p2p/Lorbug/4.png
5. Ы? Что за фигня? В общем в таком случае часть команды будет перезатерта мусором. Однако, если жмакнуть «enter», то выполнится не «/c histo.c», a «cc histo.c». Что, после «enter» подтверждается bash-history:
https://dl.dropbox.com/u/31471800/p2p/Lorbug/5.png
https://dl.dropbox.com/u/31471800/p2p/Lorbug/6.png
P.S. Важно, чтобы последняя выполненная команда не влезала на одну строку.