
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 リポジトリに追加しておいてよかったです。 を実行すると、git diff
に diff があることが git で示されましたправительство.рф
。 次に、 をdifftool としてセットアップしgit difftool
て、に russian ではなくASCII文字が含まれてvimdiff
いることに気付きました。これが問題でした。c
правительство.рф
c