出门在外时,我喜欢通过 VPN 连接到互联网。如果能在提示中看到连接是否开启,那就太好了,例如:
frank@mycomputer ~ # without vpn active
frank@mycomputerVPN ~ # when vpn is active
我如何才能.bashrc
让每次出现提示时都评估连接的存在?使用 vpnc 启动脚本设置 PS1 不是解决方案,因为它有时会死机。所以我检查
ps ax -o comm| grep [v]pnc
返回一些结果。
有什么解决办法吗?
答案1
将测试结果添加到提示中
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
编辑之前务必先备份。
答案2
解决方案:
我创建了一个名为“/usr/local/bin/isvpn”的 shell 脚本,内容如下:
#! /bin/bash
if [ -z "$(ifconfig | grep tun)" ]; then
test="no VPN"
else
test="VPN"
fi
echo -n "$test"
在 .bashrc 中现在我有一行
PS1="\u@\h [\$(isvpn)]\w \$ "
所以它按预期工作。此外,您还可以用颜色强调提示。也许这可以帮助别人。