Один из моих любимых советов по Mac OS X Terminal заключается в добавлении последнего запущенного процесса в заголовок терминала с использованием следующего кода в вашем .bashrc .
trap 'printf "\033]0; `history 1 | cut -b8-` \007"' DEBUG
Теперь я пытаюсь настроить приглашение Bash по умолчанию на что-то более функциональное. Каковы некоторые полезные примеры подсказок оболочки?
У меня есть скрипт,
~/bin/setprompt
который выполняется моим.bashrc
, который содержит:Этот сценарий устанавливает в приглашении имя хоста, за которым следует,
:)
если последняя команда была успешной и:(
последняя команда завершилась неудачно.источник
Это, однако, самый удивительный, который я когда-либо видел:
Дать ему шанс. Это дает хорошую информацию, но на самом деле это приведет к увеличению нагрузки на ваши ящики, просто нажав Enter по запросу!
источник
Я болею за приглашение Cygwin bash по умолчанию:
или без цветов:
похоже:
источник
Мне нравится включать время в моем. Дает мне что-то вроде встроенного
time
вокруг моих команд:Хотя, увидев некоторые из них, я хочу сделать свои умнее!
источник
Вот мой (прокрутите вправо, чтобы увидеть более интересную часть):
Вот результат:
Когда я в репозитории Git :
Я предпочитаю использовать несколько разрывов строк и «горизонтальную линейку», чтобы упростить сканирование буферов, и поэтому длинные имена путей не перемещают курсор слишком далеко вправо.
источник
В кш:
В моем .profile я установил следующую переменную (таким образом, эта переменная устанавливается только один раз за сеанс, независимо от того, сколько я делаю su:
В моем .kshrc у меня есть:
Я становлюсь пользователем root со следующим псевдонимом, а не с «su» (kroot - это пользователь root с оболочкой ksh вместо sh (solaris) или bash (linux):
Я также определил эти две функции:
и, наконец, в конце .kshrc у меня есть:
Все это дает мне по умолчанию автоматическую настройку конца моего приглашения, чтобы указать, являюсь ли я пользователем root (и, в свою очередь, если у меня есть родитель, являющийся пользователем root), текущим рабочим каталогом, именем хоста и состоянием завершения последнего процесса. sprompt удаляет имя хоста, сокращает путь до базового имени и удаляет пробелы:
Псевдонимы root / me созданы администрацией pre-sudo в Solaris, и старые привычки устарели. Я сомневаюсь, что кто-то может реализовать то же самое в эти дни. Функции быстрой смены и существующий статус остаются для меня очень ценными.
источник
У меня есть подсказка, которая проста, но использует цвета, чтобы дать некоторую дополнительную информацию:
Цвет имени хоста (в данном случае drewble) отличается на каждой машине - когда я получаю новую машину, на которой я работаю, я выбираю произвольный цвет для этой машины. Таким образом, когда у меня открыто много терминалов, легко определить, на какой машине они работают по SSH, и уменьшить количество ошибок, которые я совершаю, находясь на неправильной машине. Кроме того, когда я это делаю
sudo -s
, я помещаю имя хоста во все заглавные буквы и окрашиваю двоеточие в красный, опять же, это уменьшает количество ошибок, давая понять, что вы действуете как root. Путь (~
в данном случае мой домашний каталог ) выделен ярко-зеленым цветом, что помогает разделить строки вывода; если что-то создает много выходных данных, легко прокрутить вверх и посмотреть, где начался вывод.источник
Это не приглашение оболочки, но это настройка, которая может соответствовать духу того, что вы просите.
Я установил следующую переменную среды:
Таким образом, если у меня будет несколько терминалов, открытых через экран или что-то еще, я не потеряю историю, когда они изменяют друг друга.
источник
Это отображает:
С 'hostname' зеленым, если код последней выполненной команды был '0', и красным, если он был> '0'.
источник
Подобно ответу хаоса , я вроде как
что дает мне
Включив user / host в первую строку, я могу легко скопировать всю строку пути, когда использую SCP , или rsync для отправки некоторых файлов в этот каталог.
источник
Для баш мне нравится
PS1 = "\ h \ d \ t \ w \ n \ u>"
что приводит к:
myserver Mon Sep 07 07:43:11 / u08
root>
Таким образом, вы получите имя хоста, дату и время, полный путь, а затем имя пользователя в новой строке с подсказкой. Это должно минимизировать перенос строки в каталогах. Я весь день в ящиках, поэтому все, что я могу сделать - это хорошо. У меня также есть набор шпатлевки для регистрации всего. Я могу вернуться и посмотреть журналы, и точно увидеть, что я делал, когда. Также удобно для выяснения последовательности событий в нескольких окнах терминала одновременно.
источник
Моя нормальная подсказка
Это дает мне текущего пользователя, текущий каталог текущего хоста ( без замены $ HOME на ~), текущее
screen
окно и возврат последней ошибки. Поскольку у меня обычно открыто 16 или более окон, знание текущего полезно.источник
Мой зш подскажу:
Обычно это красный и белый с текущим каталогом в розовом. Если root, то он темно-серый с именем хоста красным. Если
$?
не 0, то итоговый% отображается красным.источник