위치별로 라우팅 테이블에서 경로 제거

위치별로 라우팅 테이블에서 경로 제거

모든 경로 세부 정보를 제공하는 라우팅 테이블에서 경로를 삭제하는 방법을 알고 있습니다( ip r d ...).

일종의 인덱스를 사용하여 라우팅 테이블을 나열한 다음 인덱스를 기준으로 해당 위치에서 제거하는 방법이 있습니까?

답변1

이것은 내장 select명령을 사용하여 메뉴를 표시하는 간단한 bash 스크립트입니다.

#!/bin/bash
mapfile -t routes <<<"$(ip route)"
select var in "${routes[@]}"
do   [ -n "$var" ] && sudo ip route del $var
done

현재 경로를 배열로 읽어 routes온 다음 select메뉴에 표시합니다. 예를 들면 다음과 같습니다.

1) default via 192.168.0.254 dev p4p1 
2) 169.254.0.0/16 dev p4p1  scope link  metric 1002 
3) 169.254.0.0/16 dev p4p2  scope link  metric 1003 
#? 

예를 들어 프롬프트에서 #?삭제하려는 행을 입력 1하고 반환하십시오. 이는 앞에 명령이 추가된 문자열 var옆에 표시된 문자열로 설정됩니다 . 종료하려면 파일의 끝을 입력하세요 .1)sudo ip route delcontrol-d

관련 정보