ИМХО, подсказка — лучший способ напомнить вам, где вы находитесь. Его можно использовать, чтобы напомнить вам о машине, текущем имени пользователя, каталоге и т. д. Подсказка всегда присутствует в командной строке, поэтому ее будет трудно игнорировать. Использование какой-либо другой команды для поиска текущего имени машины (, например hostname
), очевидно, также будет работать, но вы забудете это сделать.
Задайте в качестве основного приглашения строку, содержащую имя хоста:
PS1="$(id -un)@$(hostname) \$ "
Это на моей текущей машине и для моего пользователя установит приглашение на
kk@client.local $
Вы можете использовать hostname -s
вместо простого hostname
, чтобы удалить доменную часть имени хоста.
Некоторые оболочки, такие как bash
, имеют сокращенные обозначения, которые вы можете использовать для одного и того же. Дляbash
(замените \H
на \h
, чтобы получить более короткую версию имени хоста ):
PS1='\u@\H \$ '
Обратите внимание, что вexport
PS1
нет необходимости, так как он используется только текущим процессом оболочки.
Изменения этой переменной можно внести в файл инициализации оболочки. Для bash
измените ~/.bashrc
. Прочтите руководство по вашей оболочке о PS1
.
Для очень маленьких экранов вы можете придумать собственную динамическую подсказку:
case "$(hostname)" in
bigserver*) promptstr='bs' ;;
srv-*) promptstr='srv' ;;
accounting*) promptstr='a' ;;
web-dev-*) promptstr='wd' ;;
*) promptstr=$(hostname -s) ;;
esac
PS1="$promptstr \$ "
Или просто используйте первые три символа имени хоста:
HOSTNAME=$(hostname)
PS1="${HOSTNAME:0:3} \$ "
(для этого требуется оболочка, которая знает, как делать такого рода подстановку переменных, очевидно, но bash
делает)
... или просто какой-то другой индикатор, чтобы напомнить вам, что вы больше не локальны, например, использовать *
перед$
(PS1='*$ '
)удаленно, не используя этот индикатор локально. Или любой другой из множества возможных подсказок.
Хорошо, я сделал это сейчас, и, похоже, пока работает.
/etc/network/interfaces:
auto lo
iface lo inet loopback
auto enp3s0
iface enp3s0 inet static
address 100.100.100.18
netmask 255.255.255.248
post-up ip route add 40.40.40.40/32 via 100.100.100.17 dev enp3s0
auto bond1
iface bond1 inet manual
bond-slaves eno1 enp4s0
bond-miimon 100
bond-mode 802.3ad
bond-lacp-rate 1
iface enp4s0 inet manual
bond-master bond1
iface eno1 inet manual
bond-master bond1
iface bond1.167 inet manual
auto vmbr1
iface vmbr1 inet manual
bridge_ports bond1
bridge_stp off
bridge_fd 0
auto vmbr1v167
iface vmbr1v167 inet static
address 200.200.200.114
netmask 255.255.255.248
gateway 200.200.200.113
bridge_ports bond1.167
bridge_stp off
bridge_fd 0