Ваш код тестирует, является ли значение переменной текст
, как минимум один символ ASCII. Если вы хотите проверить, есть ли $ Text
, содержит символы без ASCII, вам необходимо инвертировать набор. Кстати, [: ASCII:]
- независимая локаль, поэтому вам не нужно устанавливать LC_CTYPE
.
if [[ $TEXT = *[![:ascii:]]* ]]; then
echo "Contain Non-ASCII"
fi
Обратите внимание, что [: ASCII:]
- это функция Bash (ZSH). Если вы хотите, чтобы ваш скрипт работать на KSH или просто SH, вам нужно будет использовать локаль. Вот портативный метод:
LC_CTYPE=C
case $TEXT in
*[![:cntrl:][:print:]]*) echo "Contain Non-ASCII";;
esac
Если вы хотите проверить содержимое файла, используйте GREP .
if LC_ALL=C grep -q '[![:cntrl:][:print:]]' somefile; then
echo "Contain Non-ASCII"
fi
, Если вам действительно нужно rt-ядро
, необходимо будет ожидать патча для становления доступными для версии ядра, которое вы ищете.
я советовал бы однако для предотвращения стычки подготовки rt-ядро
для профессиональных аудио потребностей. Можно легко стать чрезвычайно низкими (<10 мс) задержки даже с приоритетным ядром. Это должно быть более чем достаточно.