5

Я хотел бы сделать командную строку моего терминала короче. В настоящее время я использую Python virtualenv и virtualenvwrapper поэтому в командной строке отображается много лишнего текста. Мне нужно сократить это до минимума, поэтому я хотел бы взять это:

(pytutorial)sez@sez-laptop:~/.virtualenvs/nettuts/firstblog$

и в идеале превратить его в

(pyt)sez:~/.virtualenvs/nettuts/firstblog$

или возможно что-то более короткое возможно. Прямо сейчас я использую Gnome Terminal 2 & bash.

Какие-либо предложения?

7 ответов7

11

Ваш запрос может быть настроен с использованием PS1 envvar. Например, чтобы иметь минималистскую командную строку '$', просто установите PS1 = '$' в вашем .bashrc. Вот несколько хороших примеров настройки настраиваемого приглашения

5

Отредактируйте ваш .bashrc и измените определение PS1 . Смотрите ваш собственный /etc/bashrc для примера или посмотрите документацию bash.

5

Я думаю, \u:\w\$ - это то, что вам нужно, где \u - ваше имя пользователя, а \w - текущий рабочий каталог (\W короче). Измените ваш ~/.bashrc чтобы изменить приглашение.

3

Мы используем непротиворечивый заголовок на всех наших машинах, который содержит полный текущий рабочий каталог в строке (вместе с именем хоста и пользователем), затем разрыв строки только с именем текущего каталога и самой подсказкой.

Таким образом, вы по-прежнему получаете много ширины, и есть четкое различие между различными линиями.

Его также цветные :)

export PS1="\e[0;35m[\u@\e[0;33s\h\e[0;35m \w] \e[m \n[\W]\$ "

Например. Который будет выводить

[myuser@myserver /home/myuser]
[myuser]$ 

Сохраните строку в вашем ~/.bashrc , ~/.bash_profile или /etc/profile чтобы сделать ее постоянной.

3

Просто введите в свой терминал nano .bash_profile. Копирование:

export PS1="\u@\h\w: "

Сохранить.

2

Внутри '$ WORKON_HOME/postactivate':

case $(basename "$VIRTUAL_ENV") in
    pytutorial) VENV="pyt";;
    *) VENV="$(basename "$VIRTUAL_ENV")";;
esac
PS1="($VENV)$_OLD_VIRTUAL_PS1"

Внутри '$ HOME/.bashrc':

PS1="\u:\w\$ "

Это должно дать точный результат, который вы описали. Конечно, есть разные варианты. Я настоятельно рекомендую https://wiki.archlinux.org/index.php/Color_Bash_Prompt получить дополнительную информацию по этой теме.

Файл post_activate запускается во время запуска virtualenv. Оператор case позволяет заменить имя на другое.

Другие соображения:

Лично я делаю PS1=$_OLD_VIRTUAL_PS1 в «$ WORKON_HOME/postactivate» и использую $(basename "$VIRTUAL_ENV") внутри моего PS1 .

1

Мне нравится, когда моя подсказка находится в отдельной строке, поэтому я не пропускаю информацию и всегда набираю целую строку:

PS1=\\u@\\h\ \\w\\n\\$\ 

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .