При использовании командной строки часто это становится очень загроможденным. Например, неудобно изучать прошлые команды и их результаты.
Я хотел бы добавить новую строку каждый раз перед отображением командной строки. Вот так:
<clutter>
<blank line>
name@machine:~$
Я использую оболочку bash. Как этого достичь?
bash
command-line
Slothworks
источник
источник
Ответы:
Один из способов добиться этого - изменить
.bashrc
файл. Просто поместите следующее в конец.bashrc
файла.Чтобы объяснить, как это работает,
PS1
есть переменная, содержащая то, что должно отображаться в качестве приглашения. Все это говорит "установленоPS1
на предыдущее содержимоеPS1
, с добавленным символом новой строки". Включение его в.bashrc
большинство дистрибутивов просто заставляет bash запускать его каждый раз, когда вы открываете интерактивную оболочку (но не оболочку входа в систему - см. Различие между оболочкой входа и оболочкой без входа в систему? ).источник
PS1="\n$PS1"
в терминале имеет мгновенный эффект :)clear
(или нажатияCtrl+l
) первая показанная строка является пустой строкой. Для некоторых это может быть небольшая деталь, но я бы предпочел, чтобы первая строка была подсказкой.Вы можете использовать PROMPT_COMMAND :
или:
источник
PROMPT_COMMAND="printf '\n';$PROMPT_COMMAND"
? В его нынешнем виде он ничего не делает, когда я помещаю его в.bashrc
файл.printf
иecho
, конечно, они очень легкие, но все равно не имеет смысла использовать,PROMPT_COMMAND
когда ониPS1
будут выполнять эту работу.Альтернатива: оставьте строку в
PS1=
приглашении.bashrc
. Вот буквально, как я настроил.bashrc
на каждой машине Linux, которую я имею:Как вы видите в моем примере выше, имя пользователя жестко запрограммировано в приглашении. Конечно, вы можете использовать escape-последовательности, которые предоставляет bash или другая оболочка (например, ksh ), но немного более нейтральным вариантом будет использование замены параметров с помощью команд типа
whoami
(сообщите ваше имя пользователя) иhostname
(очевидно, сообщает имя хоста). Например:Для более забавных вещей с подсказкой,
.bashrc
и расширениями параметров, проверьте мои ответы здесь:Как проверить состояние батареи с помощью терминала?
Как я могу заставить свои терминалы / оболочки иметь индивидуальный дизайн? а также
Как показать часы в терминале перед командной строкой?
источник
$(whoami)
вместоusernamehardcoded
\u
и\h
для вашего имени пользователя и имени хоста, соответственно. Вы можете увидеть больше специальных символов (например, текущее время в различных форматах) здесь