GNU coreutils действительно понимает UTF-8 в целом. Например, echo 哈哈 | wc -m
правильно выводы 3
в локали UTF-8 (отмечают, что опция -m
, нет -c
который по историческим причинам означает байты).
Это - ошибка в cut
. Рассмотрение источника cut
, cut
на символах просто не реализован: -c
опцию рассматривают как синоним -b
.
Обходное решение должно использовать awk. GNU awk справляется с UTF-8 очень хорошо.
awk '{print substr($0,2,length)}'
Я не знаю, если перекомпиляция драйвера является лучшим способом для Вас стать звуковой, но я думаю, что могу получить Вас мимо ошибки в configure
. Сценарий не был ясно протестирован с “экзотическими” строками версии. Стоило бы уведомить авторов этой проблемы. Проблематичная строка
eval $versionvar="$ac_compiler_version"
Что продолжается, вот это eval
оценивает строку, состоявшую из имени переменной, знака "равно" и строки для присвоения. Это неправильно: это должно оценивать строку, состоявшую из имени переменной, знака "равно" и фрагмента оболочки для генерации строки для присвоения. Другими словами, заключение в кавычки является неправильным. Это - правильный способ сделать это:
eval $versionvar=\"\$ac_compiler_version\"
То же фиксация должно быть применено ко всему использованию eval
в configure.in
.
Попробуйте следующее:
добавьте следующую строку в файле /etc/modprobe.d/alsa-base.conf
options snd_hda_intel model = STAC9227
перезагрузка alsa
2.alsa force-reload
играйте песню