Иногда я запускаю команду с большим количеством вывода.Иногда последние 30-40 строк этого вывода (то есть единственная часть вывода, которую я когда-либо действительно вижу) в порядке, но намного дальше, была ошибка.Я бы хотел, чтобы было легче заметить, что команда не выполнена.Для этого я хочу, чтобы код возврата был частью моей подсказки.Поэтому я взял свой $ PS1:
[\D{%Y-%m-%d} \t] \[\e]0;\u@\h: \w\a\]\$
... и расширил его до следующего значения:
[\D{%Y-%m-%d} \t] ${?/^0$/} \[\e]0;\u@\h: \w\a\]\$
В результате выдается следующее приглашение:
[2011-05-10 09:38:07] 0 soren@lenny:~$
Тем не менее, я хотел бы найти способ, чтобы он включал только код выхода, если он не был равен 0.Как я могу это сделать?Конечно, я мог бы использовать
$(echo \$? | sed -e blah)
, но, несмотря на то, что он такой же легкий, как и sed, он все же немного тяжелее, чем встроенные в bash вещи.