모든 경로 세부 정보를 제공하는 라우팅 테이블에서 경로를 삭제하는 방법을 알고 있습니다( 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 del
control-d