Когда далеко от дома, мне нравится соединяться с Интернетом через VPN. Было бы замечательно видеть, идет ли соединение в моей подсказке, например:
frank@mycomputer ~ # without vpn active
frank@mycomputerVPN ~ # when vpn is active
Как может я мой .bashrc
так, чтобы существование соединения было оценено каждый раз, когда подсказка появляется? Установка PS1 со сценарием запуска vpnc не является решением, потому что это когда-то умирает. Таким образом, я проверяю ли
ps ax -o comm| grep [v]pnc
отдает некоторый результат.
Какое-либо возможное решение?
, Если команда ps ax -o comm| grep [v]pnc
не дает вывода вообще, когда нет никакого активного соединения VPN, но это делает , когда существует, Вы могли отредактировать Ваш .bashrc
файл:
добавление следующего маленького раздела к нему:
if [ -z "$(ps ax -o comm| grep [v]pnc)" ]; then
test="no vpn active"
else
test="vpn active"
fi
Тогда находят строки, начиная с:
PS1='${debian_chroot....
Добавляют ($test)
в передней стороне ${debian_chroot
:
PS1='($test) ${debian_chroot...
Тогда результат:
, когда существует активное соединение, и:
, когда нет.
Всегда первое резервное копирование Ваш ~/.bashrc
перед редактированием.
Решение:
я создал сценарий оболочки, названный "/usr/local/bin/isvpn" с этим содержанием:
#! /bin/bash
if [ -z "$(ifconfig | grep tun)" ]; then
test="no VPN"
else
test="VPN"
fi
echo -n "$test"
В .bashrc теперь у меня есть строка
PS1="\u@\h [\$(isvpn)]\w \$ "
, Таким образом, это работает, как предназначено. Кроме того, можно подчеркнуть подсказку с цветами. Возможно, это может помочь кому-то еще.