환경 변수에 IP 주소 할당

환경 변수에 IP 주소 할당

eth0의 IP 주소를 환경 변수(예: $ip)에 최대한 쉽게 할당하려면 어떻게 해야 합니까?

업데이트: 배포판은 Ubuntu Server 12.04 LTS입니다.

답변1

더 짧고 더 깔끔한 방법은 hostname -iipconfig, ip, sed, awk 등을 사용하는 번거로움이 없습니다.

답변2

사용하는 ip address show것이 방법입니다. 특히 최신 Linux 시스템에서는 쿼리하는 인터페이스에 ifconfig알 수 없는 주소가 여러 개 있을 수 있습니다.

$ ip a s eth0 | awk '/inet / {print$2}'
10.13.211.83/24
192.168.17.21/16

물론, 넷마스크가 필요하지 않다면 다음과 같이 원하는 대로 파이프하면 됩니다.

cut -d/ -f1

참고: 동일한 시스템에서 ifconfig는 다음을 표시합니다.

$ ifconfig em1 | awk '/inet / {print $2}'
10.13.211.83

답변3

정의된 인터페이스에 IP를 할당하기를 원하기 때문에 특정 질문에 대답하지 않지만 나중에 사용할 수 있도록 여기에 외부 IP(NAT 이후에도)를 얻는 방법을 나열하는 것이 유용할 것이라고 생각했습니다.

ip=`wget -qO- ipecho.net/plain`

답변4

또한 확인해 보세요:

ifconfig eth0 | awk '/inet /{print $2}' | cut -f2 -d':'

Solaris 및 HP-UX에서도 작동합니다(대신 적절한 net dev 사용 eth0).

hostname -i명령 의 경우 hostname -I구성된 인터페이스(루프백 제외)가 있는 경우 시도해 보십시오.

관련 정보