Автор Тема: Кирилица в скриптах  (Прочитано 750 раз)

Оффлайн him

  • Завсегдатай
  • *
  • Сообщений: 1 032
Кирилица в скриптах
« : 20.09.2017 16:38:28 »
Не подскажите, может кто сталкивался, echo "Привет" нормально выводит в консоль.
А если попытаться сравнить букву - то ошибка.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 099
Re: Кирилица в скриптах
« Ответ #1 : 20.09.2017 16:47:30 »
А что показывает вывод locale из-под того пользователя, из-под которого скрипт запускается ?

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Кирилица в скриптах
« Ответ #2 : 20.09.2017 17:23:35 »
Не подскажите, может кто сталкивался, echo "Привет" нормально выводит в консоль.
А если попытаться сравнить букву - то ошибка.

И это точно этот символ?
Количество вхождений символа
$ echo Переезд|awk -F'е' 'NF > 0 { coun+=NF-1 } END { print coun }'
3
$ echo Пeреезд|awk -F'е' 'NF > 0 { coun+=NF-1 } END { print coun }'
2
$ echo Пeрeезд|awk -F'е' 'NF > 0 { coun+=NF-1 } END { print coun }'
1
$ echo Пeрeeзд|awk -F'е' 'NF > 0 { coun+=NF-1 } END { print coun }'
0

Оффлайн him

  • Завсегдатай
  • *
  • Сообщений: 1 032
Re: Кирилица в скриптах
« Ответ #3 : 21.09.2017 08:12:01 »
А что показывает вывод locale из-под того пользователя, из-под которого скрипт запускается ?

$  locale
LANG=ru_RU.utf8
LC_CTYPE="ru_RU.utf8"
LC_NUMERIC="ru_RU.utf8"
LC_TIME="ru_RU.utf8"
LC_COLLATE="ru_RU.utf8"
LC_MONETARY="ru_RU.utf8"
LC_MESSAGES="ru_RU.utf8"
LC_PAPER="ru_RU.utf8"
LC_NAME="ru_RU.utf8"
LC_ADDRESS="ru_RU.utf8"
LC_TELEPHONE="ru_RU.utf8"
LC_MEASUREMENT="ru_RU.utf8"
LC_IDENTIFICATION="ru_RU.utf8"
LC_ALL=

разобрался:
if [ $dd == "А" ] ;
« Последнее редактирование: 21.09.2017 08:48:04 от him »

ms1984

  • Гость
Re: Кирилица в скриптах
« Ответ #4 : 23.09.2017 07:10:01 »
Доброго времени суток.
 В чем причина? кодировка пишет неверная.

abra@clevo-w35xxSSQ-i7-070d27 ~ $ locale
LANG=ru_RU.utf8
LC_CTYPE="ru_RU.utf8"
LC_NUMERIC="ru_RU.utf8"
LC_TIME="ru_RU.utf8"
LC_COLLATE="ru_RU.utf8"
LC_MONETARY="ru_RU.utf8"
LC_MESSAGES="ru_RU.utf8"
LC_PAPER="ru_RU.utf8"
LC_NAME="ru_RU.utf8"
LC_ADDRESS="ru_RU.utf8"
LC_TELEPHONE="ru_RU.utf8"
LC_MEASUREMENT="ru_RU.utf8"
LC_IDENTIFICATION="ru_RU.utf8"
LC_ALL=
abra@clevo-w35xxSSQ-i7-070d27 ~ $

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Кирилица в скриптах
« Ответ #5 : 23.09.2017 08:11:09 »
Не подскажите, может кто сталкивался, echo "Привет" нормально выводит в консоль.
А если попытаться сравнить букву - то ошибка.
Грепаете, или как ? Приведите вашу команду и результат. И да, если грепаете, то может связано с ключом -a ?

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 099
Re: Кирилица в скриптах
« Ответ #6 : 23.09.2017 13:15:29 »
разобрался:
if [ $dd == "А" ] ;
Это - тоже неправильный код. :-) Вот тут разбор проблемы есть:
https://habrahabr.ru/post/47706/
Читать от 3. [ $foo = «bar» ]