도메인 스크립트 구문 분석 [닫기]

도메인 스크립트 구문 분석 [닫기]

어떻게 작동하게 만들까요?


스크립트 1:(이것은 작동하지 않습니다)

host=www.example.com
ip=$(getent hosts | grep $host | awk '{ print $1}')
echo $ip

스크립트 2:(이것은 작동하지 않습니다)

host=www.example.com
ip=$(getent hosts $host | awk '{ print $1}') 
echo $ip

스크립트 3:(작동하지만 변수를 사용해야 합니다...)

ip=$(getent hosts www.example.com | awk '{ print $1}') 
echo $ip

변수를 기반으로 적절한 호스트 파일 IP를 가져와야 합니다.


스폰서:(등/호스트)

 127.0.0.1  localhost
 1.1.1.1  www.example.com

답변1

  1. 당신이 가지고 있는 것은 효과가 있어야 하지만, 그렇지 않을 이유는 없습니다. 내 시스템에서는 확실히 작동합니다.

  2. 그럴 필요는 없습니다 grep. 다음은 작동합니다.

ip=$(getent hosts "$host" | awk '{ print $1}')

답변2

를 사용하여 얻을 수 있는 두 가지 다른 결과 세트를 혼동하고 있습니다 getent hosts.

  1. getent hosts대략 다음과 같은 결과를 반환합니다.cat /etc/hosts
  2. getent hosts TARGEThosts의 항목을 사용하여 /etc/nsswitch.conf조회 TARGET하고 찾은 첫 번째 일치 항목을 반환 할 하나 이상의 호스트 데이터베이스

host스크립트 1은 find 에서만 시작됩니다 /etc/hosts. 다음과 같이 약간 단축할 수도 있습니다.

host=www.example.com
ip=$(getent hosts | awk '/'"$host"'/ {print $1; exit}')
echo $ip

스크립트 2와 3은 /etc/hostsDNS를 검색하고 검색할 수도 있습니다. 어디에 넣었는지 확실하지 않거나 '"번째 스크립트가 작동하지 않습니다.

관련 정보