noteId: WEB5d9c10e030269adba10ab1319a0f4542 · 原始路径:/ALL/Linux - A模块/有用的零散配置/使用 [命令] + grep + && 达成类似 if 的效果.note · 图片:1 · 附件待处理:0
# 命令解释:
先使用 ip a 查看网络接口,然后使用 grep过滤(grep命令很有意思,如果成功过滤到了内容,就会返回 0,如果没有过滤到内容,就会返回非 0,而且不会有报错[不会触发配置文件、服务的报错]),使用 grep 进行过滤,只有过滤到了 tun0 接口,才会返回 0,然后才能执行 &&(&&只有上一条命令返回值为 0,才会被执行),然后 && 再执行 route -n ,列出路由条目,然后再进行 grep 过滤,只有当返回值为 0(成功过滤到内容),才会执行 后面的 route del 进行删除路由条目
(因为添加路由条目时,如果添加的路由条目存在,就会报错,并且还会使服务运行失败,因此如果添加时已经有了路由条目,就需要先删除)
最后一条:
先执行 ip a 命令,再使用 grep 进行顾虑,只有当返回值为0(成功过滤到了 tun0),才会执行 route add 添加路由
(因为使用 dev tun0 添加路由,必需需要该接口存在才能够进行添加,否则会报错)