По умолчанию приглашение cygwin "user@computer path
\n $"
слишком длинное для меня. Я хотел бы сохранить путь.
Я хочу, чтобы это стало:
путь $
Есть ли файл конфигурации, который я могу изменить, чтобы сделать это?
По умолчанию приглашение cygwin "user@computer path
\n $"
слишком длинное для меня. Я хотел бы сохранить путь.
Я хочу, чтобы это стало:
путь $
Есть ли файл конфигурации, который я могу изменить, чтобы сделать это?
Переменная среды PS1
управляет приглашением:
PS1='\w $ '
Для получения дополнительной информации по этой и другим темам настройки приглашения введите man bash
(предполагается, что bash
- это ваша оболочка) и посмотрите раздел "ПРЕДУПРЕЖДЕНИЕ".
Чтобы сделать это изменение постоянным, отредактируйте файл ~/.bashrc
добавив строку выше.
Оболочка входа - это та, чей первый символ аргумента ноль - -, или тот, который начинается с опции --login. Когда bash вызывается как интерактивная оболочка входа в систему или как неинтерактивная оболочка с параметром --login, она сначала читает и выполняет команды из файла /etc /profile, если этот файл существует. После прочтения этого файла он ищет ~ /.bash_profile, ~ /.bash_login и ~ /.profile в указанном порядке, а также читает и выполняет команды из первой, которая существует и доступна для чтения. Параметр --noprofile может использоваться, когда запускается оболочка, чтобы запретить это поведение. Когда запускается интерактивная оболочка, которая не является оболочкой входа в систему, bash читает и выполняет команды из ~ /.bashrc, если этот файл существует.
Так что это зависит ... я не использую --login, поэтому я должен добавить его в ~/.bashrc
.bashrc не работал для меня. Я добавил это в конец /etc /profile, и это сработало:
export PS1="\[\e[33m\]\w\[\e[0m\] \$ "
Я использую Cygwin версии 2.11.2 (последняя версия от 2018-12-18).
Не уверен, почему иметь меньше контекста лучше, чем иметь больше ... Наличие новой строки в приглашении означает, что длина приглашения не должна быть проблемой, но попробуйте это:
PS1='\[\e[1;33m\]\w\n\[\e[1;36m\]\$\[\e[0m\] '
или же
export PS1='\[\e[1;33m\]\w\n\[\e[1;36m\]\$\[\e[0m\] '
Это дает вам цветную подсказку:
/full/path/to/current/folder
$your command text here
Таким образом, вы всегда видите полный контекст вашей папки, но при этом получаете полную строку для ввода текста. (Я оставил обычное пространство после '$', потому что оно было окрашено для ясности).
Colours are:
1. '/full/path/...' = yellow;
2. '$' (on next line) = cyan;
3. 'your command text...' = light grey.
Для тех, кому действительно нужен контекст 'user @ hostname':
PS1='\[\e[1;32m\]\u\[\e[1;35m\]@\[\e[1;32m\]\h \[\e[1;33m\]\w\n\[\e[1;36m\]\$\[\e[0m\] '
или же
export PS1='\[\e[1;32m\]\u\[\e[1;35m\]@\[\e[1;32m\]\h \[\e[1;33m\]\w\n\[\e[1;36m\]\$\[\e[0m\] '
Это дает вам цветную подсказку:
user@hostname /full/path/to/current/folder
$your command text here
Это мое предпочтение.
Colours are:
1. 'user' = (light) green;
2. '@' = pink;
3. 'hostname' = (light) green;
4. '/full/path/...' = yellow;
5. '$' (on next line) = cyan;
6. 'your command text...' = light grey.
(Нет, в этом посте нет орфографических ошибок - Queen's English;))
Поместите это в ваш ~/.bashrc. Дает цветную подсказку и сохраняет статус в одной строке.
export PS1="\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\$ "