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