idn2 funciona de manera diferente al script bash y la línea de comando

idn2 funciona de manera diferente al script bash y la línea de comando

Tengo el siguiente comando ping -qc 1 $(idn2 правительство.рф)en un archivo de script bash ping.sh.

Cuando ejecuto el script $ bash -x ./ping.shobtengo:

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

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

Pero cuando escribo el comando $ ping -qc 1 $(idn2 правительство.рф)en la línea de comando bash de mi terminal, obtengo otro 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

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

¿Qué es esto?

Respuesta1

En resumen, asegúrese de escribir nombres de dominio internacionales con la distribución de teclado correcta y no corrija la ortografía de los nombres de dominio internacionales con una distribución de teclado incorrecta.

Reescribí правительство.рфla cadena en mi script a mano, luego probé el script y el problema desapareció. Tuve suerte de haber agregado el script en un repositorio de git. Entonces yo git diffy git me mostraron que había una diferencia en правительство.рф. Luego lo git difftoolconfiguré vimdiffcomo difftool y me di cuenta de que tenía cletras ASCII en правительство.рфlugar de rusas c. Ese fue el problema.

información relacionada