Как переименовать оболочку в текущий рабочий каталог
Я использую гном-терминал. Я часто работаю над большими проектами, где есть много подкаталогов, и я должен скомпилировать их из терминала. Работать с подсказкой терминала с длинным путем очень сложно, пока у вас есть один монитор.
Предположим, вы находитесь в каталоге,
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$