Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: bash-скрипт и русские символы  (Прочитано 4858 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ramzport

  • Автор темы
  • Новичок
  • *
  • Сообщений: 49
    • Просмотр профиля
    • Легальность во все поля
bash-скрипт и русские символы
« : 05 Июля 2011, 14:15:55 »
Есть скрипт:

#!/bin/bash

IFS=$'\n'
i=0
m=0
url=""
tmp=””
declare -a array1
declare -a array2
declare -a array3

tmp=`google docs list --fields title`
array1=($tmp)

tmp=`google docs list --fields url`
array2=($tmp)

for file in ${array1[@]}; do

array3[$m]=$i
m=$(($m + 1))
array3[$m]=${array1[$i]}
m=$(($m + 1))
i=$(($i + 1))
done

url=${array2[`zenity --list --width=600 --height=400 \
--title="Выберите документ" \
--column="п/п" --column="Название документа" \
${array3[@]}`]}; if [ $? -ne 1 ]
then
chromium-browser $url
fi

exit

вызывающий окно со списком документов из Google. Если запускать из терминала все ОК. При запуске из nautilus'а дает следующее:



все русские символы заменяются на код. В чем может быть проблема?

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: bash-скрипт и русские символы
« Ответ #1 : 05 Июля 2011, 14:19:41 »
>>При запуске из nautilus'а
вот тут по подробней.
11.04?
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн ramzport

  • Автор темы
  • Новичок
  • *
  • Сообщений: 49
    • Просмотр профиля
    • Легальность во все поля
Re: bash-скрипт и русские символы
« Ответ #2 : 05 Июля 2011, 14:21:06 »
>>При запуске из nautilus'а
вот тут по подробней.
11.04?

да, 11.04

З.Ы.: не обязательно из наутилуса - сделал кнопку на панель с запуском из desktop-файла по команде "bash Программы/Скрипты/ListDocs.sh" - результат тот же.
« Последнее редактирование: 05 Июля 2011, 14:23:18 от ramzport »

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: bash-скрипт и русские символы
« Ответ #3 : 05 Июля 2011, 14:31:50 »
может bash -c "path"

И еще, после IFS=$'\n' нужно писать unset IFS, когда он уже не нужен.
« Последнее редактирование: 05 Июля 2011, 14:34:35 от RazrFalcon »
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн ramzport

  • Автор темы
  • Новичок
  • *
  • Сообщений: 49
    • Просмотр профиля
    • Легальность во все поля
Re: bash-скрипт и русские символы
« Ответ #4 : 05 Июля 2011, 14:39:27 »
может bash -c "path"

И еще, после IFS=$'
'
нужно писать unset IFS, когда он уже не нужен.

сейчас попробую, unset был, но его видимо в процессе потерял)

Пользователь решил продолжить мысль 05 Июля 2011, 14:52:53:
может bash -c "path"

Тоже самое
« Последнее редактирование: 05 Июля 2011, 14:58:21 от ramzport »

Оффлайн aliftin

  • Старожил
  • *
  • Сообщений: 1398
    • Просмотр профиля
Re: bash-скрипт и русские символы
« Ответ #5 : 05 Июля 2011, 16:09:14 »
Посмотрите вывод команды locale. Может попробовать в начале работы скрипта задать нужную кодировку.
Если мы не можем до чего то дотянуться, мы виним в этом не свой рост, не отсутствие табуретки, а свою цель.

Оффлайн ramzport

  • Автор темы
  • Новичок
  • *
  • Сообщений: 49
    • Просмотр профиля
    • Легальность во все поля
Re: bash-скрипт и русские символы
« Ответ #6 : 07 Июля 2011, 01:57:50 »
Посмотрите вывод команды locale. Может попробовать в начале работы скрипта задать нужную кодировку.

Не знаю, насколько я правильно делаю, но если в начале скрипта ставить:

LANG="ru_RU.UTF-8"
или
LANG="ru_RU.KOI8-R"

дают в итоге:

(process:16986): Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.

 

Страница сгенерирована за 0.058 секунд. Запросов: 26.