어떤 인터페이스에 외부 연결(eth0, eth1, wlan0, em1 및 em2)이 있는지 확인하여 스크립트에 인터페이스를 하드코딩하지 않고도 모든 컴퓨터에서 작동하는 스크립트를 가질 수 있도록 bash 스크립트를 작성하는 방법을 알고 싶습니다.
답변1
ip route show
관심 있는 인터페이스 이름을 사용 하고 추출합니다. 예를 들어 기본 게이트웨이에 직접 액세스할 수 있는 인터페이스 이름을 추출하려면 다음을 수행합니다.
$ ip route show | sed -e 's/^default via [0-9.]* dev \(\w\+\).*/\1/'
ens192
IPv6를 사용하려면 ip -6 route show
.
원래 질문은외부 연결과의 인터페이스, 이는 기본 게이트웨이의 인터페이스에 직접 액세스하는 것보다 더 일반적입니다. 이것을 테스트할 수는 없지만 0.0.0.0/0
출력에서 if를 찾는 것이 ip route show
도움이 될 수 있습니다.