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 向我展示了правительство.рф.然後我git difftool設定vimdiff為 difftool 並意識到我有 ASCIIc字母правительство.рф而不是俄語c。這就是問題所在。

相關內容