Страница 1 из 1

Няправільная перадача параметраў скрыпту

Добавлено: 03 дек 2006, 14:06
Victor Gr.
Такое вось становішча.

У ~/bin ляжыць скрыпт.
bb:

Код: Выделить всё

#!/bin/sh

echo "$@"
~/bin у PATH стаіць на першым месцы.

Лакаль сістэмы: be_BY.UTF-8.

І вось пішам у konsole:

Код: Выделить всё

$ bb "Луи Тьюиз снова в деле.avi"
Луи Тьюиз �ова в деле.avi
ці

Код: Выделить всё

$ bb "Нарушая запреты.avi"
Нару�я запреты.avi
Карацей, нейкія сімвалы няправільна перадаюцца. Чаму? Што рабіць?

Добавлено: 03 дек 2006, 15:20
Berserker
Якая тэрміналка? у konsole ўсё добра - праверыў толькі што.

Добавлено: 03 дек 2006, 15:43
Victor Gr.
Ну вось і ў мяне konsole.

Код: Выделить всё

$ bash --version
GNU bash, version 3.1.5(1)-release (i486-pc-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.

$ uname -a
Linux vortex 2.6.18-VORTEX #3 PREEMPT Wed Nov 29 23:25:09 EET 2006 i686 GNU/Linux
Вось што знайшоў:

Код: Выделить всё

bb йцукенгшщзхъфывапролджэячсмитьбю
йцукенг�зхъфывапролджэяч�итьбю
Літары ш і с не праходзяць. АЛЕ! Мала таго, што яны самі не праходзяць, дык яны яшчэ і наступную літару за сабой цягнуць!

Нешта здарылася. Раней жа ўсё было добра! А тут я проста не змог фільм праз mplayer уключыць дзе ў назве зьмяшчаецца "ш" ды "с".

Дурдом.

Linux 2.6.18.

Добавлено: 04 дек 2006, 12:07
avb
LANG=be_BY.UTF-8 konsole

запусти, а оттуда попробуй свой тест сделать. Есть ли таже проблема?

Добавлено: 04 дек 2006, 17:32
Victor Gr.
Да, есть.

Вообще такая ситуация:

Код: Выделить всё

$ locale
LANG=be_BY.UTF-8
LANGUAGE=be_BY:be:ru_RU:ru:en_GB:en
LC_CTYPE="be_BY.UTF-8"
LC_NUMERIC="be_BY.UTF-8"
LC_TIME="be_BY.UTF-8"
LC_COLLATE="be_BY.UTF-8"
LC_MONETARY="be_BY.UTF-8"
LC_MESSAGES="be_BY.UTF-8"
LC_PAPER="be_BY.UTF-8"
LC_NAME="be_BY.UTF-8"
LC_ADDRESS="be_BY.UTF-8"
LC_TELEPHONE="be_BY.UTF-8"
LC_MEASUREMENT="be_BY.UTF-8"
LC_IDENTIFICATION="be_BY.UTF-8"
LC_ALL=be_BY.UTF-8
$ bb вашкот?
ва�от?
Ситуация один-в-один, в uxterm.