idn2 funktioniert anders als Bash-Skript und Befehlszeile

idn2 funktioniert anders als Bash-Skript und Befehlszeile

Ich habe den folgenden Befehl ping -qc 1 $(idn2 правительство.рф)in einer Bash-Skriptdatei ping.sh.

Wenn ich das Skript ausführe, $ bash -x ./ping.sherhalte ich:

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

mit idn2Ergebnis vonxn--c-7sbgbnrw0abkzd2k.xn--p1ai

Aber wenn ich den Befehl $ ping -qc 1 $(idn2 правительство.рф)in die Bash-Befehlszeile meines Terminals eingebe, erhalte ich ein anderes Ergebnis:

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

mit idn2dem Ergebnis von xn--80aealotwbjpid2k.xn--p1ai.

Was ist das?

Antwort1

Kurz gesagt: Stellen Sie sicher, dass Sie internationale Domänennamen mit dem richtigen Tastaturlayout eingeben und korrigieren Sie die Schreibweise internationaler Domänennamen nicht mit einem falschen Tastaturlayout.

Ich habe правительство.рфdie Zeichenfolge in meinem Skript von Hand umgeschrieben, dann habe ich das Skript getestet und das Problem ist behoben. Ich hatte Glück, dass ich das Skript in ein Git-Repository eingefügt habe. Also habe ich git diffund Git hat mir gezeigt, dass es einen Unterschied in gab правительство.рф. Dann git difftoolhabe ich vimdiffes als Difftool eingerichtet und festgestellt, dass ich ASCII- cBuchstaben правительство.рфanstelle von russischen hatte c. Das war das Problem.

verwandte Informationen