У меня есть небольшой сценарий оболочки в .x
$ cat .x
u="Böhmáí"
touch "$u"
ls > .list
echo "$u" >.text
cat .list .text
diff .list .text
od -bc .list
od -bc .text
Когда я запускаю этот сценарий sh -x .x
(-x только для отображения команд)
$ sh -x .x
+ u=Böhmáí
+ touch Böhmáí
+ ls
+ echo Böhmáí
+ cat .list .text
Böhmáí
Böhmáí
+ diff .list .text
1c1
< Böhmáí
---
> Böhmáí
+ od -bc .list
0000000 102 157 314 210 150 155 141 314 201 151 314 201 012
B o ̈ ** h m a ́ ** i ́ ** \n
0000015
+ od -bc .text
0000000 102 303 266 150 155 303 241 303 255 012
B ö ** h m á ** í ** \n
0000012
Одна и та же строка Böhmáí
закодирована в разные байты в имени файла и в качестве содержимого файла. В терминале (в кодировке utf8) строка выглядит одинаково
в обоих вариантах.
Где кролик?