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

明らかにするidn2xn--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リポジトリにスクリプトを追加しました。だから私はgit diffそれをgitとして見せてправительство.рф、difftoolをgit difftool設定し、ロシア語の代わりにASCII文字がvimdiffあることに気づきました。ここに問題があります。cправительство.рфc

関連情報