idn2 funciona de maneira diferente do script bash e da linha de comando

idn2 funciona de maneira diferente do script bash e da linha de comando

Eu tenho o seguinte comando ping -qc 1 $(idn2 правительство.рф)em um arquivo de script bash ping.sh.

Quando executo o script, $ bash -x ./ping.shobtenho:

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

com idn2resultado dexn--c-7sbgbnrw0abkzd2k.xn--p1ai

Mas quando digito o comando $ ping -qc 1 $(idn2 правительство.рф)na linha de comando do terminal bash, obtenho outro resultado:

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

com idn2resultado de xn--80aealotwbjpid2k.xn--p1ai.

O que é isso?

Responder1

Resumindo, certifique-se de digitar nomes de domínio internacionais com o layout de teclado correto e não corrija a ortografia dos nomes de domínio internacionais com um layout de teclado incorreto.

Reescrevi правительство.рфa string em meu script manualmente, testei o script e o problema desapareceu. Tive sorte de ter adicionado o script em um repositório git. Então eu git diffe o git me mostraram que havia uma diferença no правительство.рф. Então git difftoolconfigurei vimdiffcomo difftool e percebi que tinha cletras ASCII em правительство.рфvez de russo c. Esse era o problema.

informação relacionada