String 筛选刚刚创建的新设备的名称(字符串)

String 筛选刚刚创建的新设备的名称(字符串),string,bash,grep,String,Bash,Grep,我认为这是一个巨大的问题,而不是一个网络问题: 我的计算机使用多个ppp连接同时运行,有时为0,有时为1,2。。。等等 例如,在连接之前: $ ifconfig | grep "ppp" ppp0 Link encap:Point-to-Point Protocol ppp1 Link encap:Point-to-Point Protocol 并且,在连接一个新的后: $ ifconfig | grep "ppp" ppp0 Link encap:Point-t

我认为这是一个巨大的问题,而不是一个网络问题:

我的计算机使用多个ppp连接同时运行,有时为0,有时为1,2。。。等等

例如,在连接之前:

$ ifconfig | grep "ppp"
ppp0      Link encap:Point-to-Point Protocol
ppp1      Link encap:Point-to-Point Protocol
并且,在连接一个新的后:

$ ifconfig | grep "ppp"
ppp0      Link encap:Point-to-Point Protocol
ppp1      Link encap:Point-to-Point Protocol
ppp2      Link encap:Point-to-Point Protocol
在这个刚刚创建的示例中,我如何通过编程猜测ppp设备ppp2

编辑-1:这可能是连接前的另一种可能情况:

$ ifconfig | grep "ppp"
$
$ ifconfig | grep "ppp"
ppp0      Link encap:Point-to-Point Protocol
ppp2      Link encap:Point-to-Point Protocol
没有活动的ppp设备

编辑-2:这可能是连接案例之前的另一种可能:

$ ifconfig | grep "ppp"
$
$ ifconfig | grep "ppp"
ppp0      Link encap:Point-to-Point Protocol
ppp2      Link encap:Point-to-Point Protocol
ppp1处的孔:不存在,因此连接后的新ppp状态为:

$ ifconfig | grep "ppp"
ppp0      Link encap:Point-to-Point Protocol
ppp1      Link encap:Point-to-Point Protocol
ppp2      Link encap:Point-to-Point Protocol

我认为ppp设备就是这样运行的。

ifconfig | awk'/ppp/{x=$1}END{print x}'可能会起作用。您想打印最后一行ppp吗?是否创建了多行ppp,或者什么也没有创建?@sopalajodearriez:所以我想这种方法应该会起作用。在连接之前运行ifconfig | grep ppp并将输出存储在临时文件中。然后在连接之后再次运行相同的命令,并获取一个diff来提取新添加的ppp设备。或者仔细阅读/var/log/messages,或者在您的特定发行版存储消息的任何位置,以查找最近设置的消息。或者运行ps-ef | grep pppd并找到最近的一个,但我不完全确定如何将pppd进程的PID绑定到它运行的接口上。。。。