Как переименовать оболочку в текущий рабочий каталог

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

Предположим, вы находитесь в каталоге,

sbmaruf@lenovo:/sys/dev/block/7:6/bdi/subsystem/7:7/power$

Теперь, когда я использую терминал, есть ли какие-нибудь хитрости или ярлыки, чтобы сделать текущий адрес фиктивной строкой или текстом, чтобы его было легко работать. Например, если я хочу показать вышеуказанный адрес как,

sbmaruf@lenovo:proj1$

где proj1 = /sys/dev/block/7:6/bdi/subsystem/7:7/power, Я хочу сделать это на ходу. например, когда я использую терминал, могу ли я сделать это за короткий объем работы.

2 ответа

Решение

Вы можете добавить эту функцию в вашу оболочку, изменив ~/.bashrc файл.

Предполагая стандартную конфигурацию, в вашем ~/.bashrc файл изменить определение PS1, который является подсказкой, из:

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi

к следующему:

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]${PROMPT:-\w}\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:${PROMPT:-\w}\$ '
fi

Вы заменяете оба \wс ${PROMPT:-\w},

В строке приглашения \w означает текущий каталог. ${VAR:-VALUE} означает использовать VALUE, если переменная VAR не установлена ​​и не равна нулю. Поэтому можно переопределить отображение текущего каталога, когда установлена ​​переменная оболочки.

Теперь вы можете установить псевдоним с помощью:

sbmaruf@lenovo:/sys/dev/block/7:6/bdi/subsystem/7:7/power$ PROMPT=proj1
sbmaruf@lenovo:proj1$

И сбросьте это с:

sbmaruf@lenovo:proj1$ unset PROMPT

Или установите это как нуль:

sbmaruf@lenovo:proj1$ PROMPT=
sbmaruf@lenovo:/sys/dev/block/7:6/bdi/subsystem/7:7/power$

Если ваша подсказка использует pwd Вы можете определить символическую ссылку, например, в вашем домашнем каталоге: ln -s /sys/dev/block/7:6/bdi/subsystem/7:7/power ~/proj1,

затем cd ~/proj1 и ваша подсказка должна стать (почти) то, что вы хотите, т.е. sbmaruf@lenovo:~/proj1$

Другие вопросы по тегам