7zip различия с кодировкой при ручной команде и в скрипте

Автор: AndreyPA Дата: 08.01.2010 12:48 ASPLinux server V . 7Zip 4.61 (обновление из репозитория)
есть SAMBA на ней есть папка (например ПРОБА) с русскими именами
захожу через SSH в терминал перехожу в каталог где эта папка и даю команду
7za a prb.7z ПРОБА
Упаковывает все OK .
Если просмотреть этот архив в консоли через MC то во-первых он показывает что упаковалось 2каталога с одним и тем же именем (но это просто фигня) а самое главное все русские буковки ??????
НО ЕСЛИ ЖЕ ЭТОТ ЖЕ АРХИВ ОТКРЫТЬ через SAMBA на WINDOWS машине ТО ВСЕ ОТЛИЧНО ЧИТАЕТСЯ И РАСПАКОВЫВАЕТСЯ
если я эту же команду упаковываю в скрипт

#!/bin/bash
7za a prb.7z ПРОБА


и запускаю то в результате получается что при открытии в консоли русские буковки читаются великолепно а через SAMBA на Windows машине кракозябры.
Я понимаю что тут что то с bash но что я не очень понимаю почему отличия ручного от скрипта что прописать еще в скрипт. Делаю все под одним пользователем - root
Помогите плиз.
Re: 7zip различия с кодировкой при ручной команде и в скрипте 08.01.2010 12:52BigAndy
Цитата:
Я понимаю что тут что то с bash

При чем тут bash??? Смотрите кодировки, которые настроили.

Цитата:
Делаю все под одним пользователем - root

Восхищает!
Re: 7zip различия с кодировкой при ручной команде и в скрипте 08.01.2010 15:17AndreyPA Я понимаю что bash не при чем. Но почему так

BigAndy Пишет:
-------------------------------------------------------
> Делаю все под одним пользователем - root
> Восхищает!

Не цепляйтесь к словам. Насчет root - это чтобы не спрашивали А пробовал ли

Кодировки никакие не настраивал. Все шло с инсталляцией. UTF-8 ru
Выяснил если этот скрипт запускать вручную под ROOT или другим пользователем все работает как я описал. русские внутри архива на консоли не читабельные, а на Win машине все ОК. Но если этот же скрипт запустить под CRON то происходит все наоборот. В консоли на Linux внутри архива русские буквы ОК а на Win машине кракозябры. Где покопать.?
еще немного
Если скрипт с 7zip загружать от пользователя то он показывает такую инфу
locale = ru.RU.UTF-8 Utf16=on
Если скрипт с 7zip запускается от Cron то он показывает так
locale = C.Utf16=off
Как сделать чтобы при загрузке Cron locale была такая же как и пользователя?
Re: 7zip различия с кодировкой при ручной команде и в скрипте 09.01.2010 14:10kosmonavt > Где покопать.?

Копать переменную среды LANG
Re: 7zip различия с кодировкой при ручной команде и в скрипте 09.01.2010 16:29AndreyPA короче сделал так Может это коряво но пока не разобрался до конца с linux.
в каждый скрипт где необходимо (хотя это необходимо в самом Cron ) добавляю

if ! (locale | grep "ru_RU.UTF-8" > /dev/nul)
then
export LC_ALL=ru_RU.UTF-8
fi
Хотел бы чтобы через /etc/crontab на постоянку но почему-то не срабатывает
Re: 7zip различия с кодировкой при ручной команде и в скрипте 11.01.2010 05:56AndreyPA Уважаемый вы невнимательны. У меня у под мои аккаунтом и root этот файл и так содержит эти данные. Но не понятно почему при запуске Cron (под каким аккаунтом он запускается?) там другие данные. ВОТ В ЧЕМ ПРОБЛЕМА.
Если сделать скрипт
#!/bin/bash
locale> /tmp/locale
и запустить его из cron то вместо ru_RU.UTF-8 увидите POSIX. Я тоже думал i18n достаточно для всех аккаунтов. НО ПОЛУЧАЕТСЯ что CRON запускается непонятно с какой локализацией ВОТ В ЧЕМ ВОПРОС.
Re: 7zip различия с кодировкой при ручной команде и в скрипте 11.01.2010 09:27BigAndy Какие проблеммы? Запускаете скрипт з-под cron и парсите $LANG и $USER
Наверняка с удивлением заметите, что $USER==root
Re: 7zip различия с кодировкой при ручной команде и в скрипте 11.01.2010 12:57lg Это проблема в vfs у mc. Либо обновите mc до последней актуальной версии, либо самостоятельно исправьте соответствующий файл [bugzilla.redhat.com]
RSS-материал