idn2는 bash 스크립트 및 명령줄과 다르게 작동합니다.

idn2는 bash 스크립트 및 명령줄과 다르게 작동합니다.

ping -qc 1 $(idn2 правительство.рф)Bash 스크립트 파일에 다음 명령이 있습니다 ping.sh.

스크립트를 실행하면 $ bash -x ./ping.sh다음과 같은 결과가 나옵니다.

++ idn2 правительcтво.рф
+ ping -qc 1 xn--c-7sbgbnrw0abkzd2k.xn--p1ai
ping: unknown host xn--c-7sbgbnrw0abkzd2k.xn--p1ai
+ exit

idn2결과적 으로xn--c-7sbgbnrw0abkzd2k.xn--p1ai

$ ping -qc 1 $(idn2 правительство.рф)그러나 터미널 bash 명령줄에 명령을 입력하면 다른 결과가 나타납니다.

PING xn--80aealotwbjpid2k.xn--p1ai (95.173.135.62) 56(84) bytes of data.

--- xn--80aealotwbjpid2k.xn--p1ai ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms

idn2의 결과 로 xn--80aealotwbjpid2k.xn--p1ai.

이건 뭐죠?

답변1

즉, 올바른 키보드 레이아웃으로 국제 도메인 이름을 입력했는지 확인하고, 잘못된 키보드 레이아웃으로 국제 도메인 이름 철자를 수정하지 마십시오.

правительство.рф스크립트를 테스트한 것보다 손으로 스크립트에 문자열을 다시 작성했는데 문제가 사라졌습니다. 운 좋게도 git repo에 스크립트를 추가했습니다. 그래서 나와 git diffgit은 에 차이점이 있음을 보여주었습니다 правительство.рф. 그런 다음 difftool git difftoolvimdiff설정하고 russian 대신 ASCII c문자가 있다는 것을 깨달았습니다 . 그게 문제였습니다.правительство.рфc

관련 정보