1 (02.03.2010 10:55:47 отредактировано dangerous3)

Проект перевода Advanced Bash Scripting на русский язык.
Страница проекта: http://www.bash-scripting.ru

UPD: Уважаемые участники проекта bash-scripting.ru!
На сервере conference.jabber.ru создана комната bash-scripting, где вы можете задать дополнительные вопросы или обсудить какие-либо иные проблемы, связанные с проектом.
Welcome!

bash-scripting@conference.jabber.ru - jabber-конференция для участников проекта bash-scripting.ru
http://sivkaburka.blogspot.com

2

А пакет сделать, и в non-free debian, рядом с оригинальным abs, вы не планируете поместить?

Кстати, как перевод влияет на лицензию?

3

alr пишет:

А пакет сделать, и в non-free debian, рядом с оригинальным abs, вы не планируете поместить?

Кстати, как перевод влияет на лицензию?

Сначала нужно перевести, а до этого ой как далеко...

О лицензии читайте здесь: http://tldp.org/LDP/abs/html/copyright.html

bash-scripting@conference.jabber.ru - jabber-конференция для участников проекта bash-scripting.ru
http://sivkaburka.blogspot.com

4

Но переведено уже достаточно, чтобы быть полезным всем русскоязычным пользователям.

5

Где много переведено? Ссылка ведёт на страницу, на которой несколько предложений, и ссылка на саму себя.

Если у вас не получается разговаривать снисходительным тоном, найдите пользователя Unix, он покажет, как это делается. Скотт Адамс

6

http://www.bash-scripting.ru/abs/chunks/

7

alr пишет:

Но переведено уже достаточно, чтобы быть полезным всем русскоязычным пользователям.

Я так не считаю.

bash-scripting@conference.jabber.ru - jabber-конференция для участников проекта bash-scripting.ru
http://sivkaburka.blogspot.com

8

Ясно. Я в иноземных не силён, поэтому буду просто ждать и надеяться.

9 (01.03.2010 07:39:30 отредактировано kimi2k)

с удовольствием присоеденюсь к переводу ab

OpenSUSE 11.2 | core 2 Duo E8400, Asus p5k pro , Nvidia GeForce 9600Gt, 2Gb Corsair Dominator, sataI - SG 500GB, sata2 - 1,5Tb
Slackware 13.0  | 2xIntel pentium pro, 512Mb ram, pci riva tnt, hdd IDE 160Gb
Debian Lenny     | P4 2,8, 215mb ram,hdd IDE 80GB

10

Могу присоединиться к переводу

11

elve пишет:

Могу присоединиться к переводу

Сначала нужно договориться с Idler'ом о выдаче вам аккаунта для svn, это я возьму на себя. Посмотрите на страницу распределения перевода. Что вы хотите переводить?

bash-scripting@conference.jabber.ru - jabber-конференция для участников проекта bash-scripting.ru
http://sivkaburka.blogspot.com

12

Оо! Я отвалился от процесса перевода из-за неожиданно надвинувшейся сессии и работы. Мои переводы до сих пор "in progress". Как их сделать "done", кстати? Просто заявить idler-у, что я их подготовил?

-- Большинство проблем, дружок, завсегда покажет лог --

13

MageWarrior пишет:

Оо! Я отвалился от процесса перевода из-за неожиданно надвинувшейся сессии и работы. Мои переводы до сих пор "in progress". Как их сделать "done", кстати? Просто заявить idler-у, что я их подготовил?

1. Скажите мне, я отмечу в таблице готовность.
2. В данной ветке анонсируйте, что вы перевели, для того, чтобы желающие вычитали и проверили вашу работу.

bash-scripting@conference.jabber.ru - jabber-конференция для участников проекта bash-scripting.ru
http://sivkaburka.blogspot.com

14 (01.03.2010 12:00:03 отредактировано kimi2k)

в принципе я бы перевёл...

26. Arrays

сообщите актуально ли, как тока подтвердите я приступлю к переводу

OpenSUSE 11.2 | core 2 Duo E8400, Asus p5k pro , Nvidia GeForce 9600Gt, 2Gb Corsair Dominator, sataI - SG 500GB, sata2 - 1,5Tb
Slackware 13.0  | 2xIntel pentium pro, 512Mb ram, pci riva tnt, hdd IDE 160Gb
Debian Lenny     | P4 2,8, 215mb ram,hdd IDE 80GB

15 (01.03.2010 12:45:37 отредактировано )

kimi2k пишет:

в принципе я бы перевёл...

26. Arrays

сообщите актуально ли, как тока подтвердите я приступлю к переводу

Конечно, актуально. Подтверждаю. Перевод этой главы закрепляется за вами. Вечером постараюсь решить вопрос с вашим svn-аккаунтом (сорри, я не заметил сразу, что два человека изъявили желание присоединиться), также обновлю информацию на страничке координации.

kimi2k пишет:

в принципе я бы перевёл...

26. Arrays

сообщите актуально ли, как тока подтвердите я приступлю к переводу

Отправил в личку реквизиты svn.

bash-scripting@conference.jabber.ru - jabber-конференция для участников проекта bash-scripting.ru
http://sivkaburka.blogspot.com

16

Хочу взять себе следующие главы:

6. Exit and Exit Status
15. External Filters, Programs and Commands  (вообще хотелось бы всю)

17 (02.03.2010 10:50:54 отредактировано dangerous3)

kimi2k, elve внесены в список участников. Таблица координации перевода обновлена
2 elve: застолбил за вами главы 15.1 - 15.5. Если дело живо пойдет, то и недолго проапдейтить таблицу. В любом случае пока никому оставшиеся главы 15 главы назначены не будут.

Удачи!

P.S. Уважаемые участники проекта bash-scripting.ru!
На сервере conference.jabber.ru создана комната bash-scripting, где вы можете задать дополнительные вопросы или обсудить какие-либо иные проблемы, связанные с проектом.
Welcome!

bash-scripting@conference.jabber.ru - jabber-конференция для участников проекта bash-scripting.ru
http://sivkaburka.blogspot.com

18

возьмусь, для начала, за:
8. Operations and Related Topics
8.1. Operators             
8.2. Numerical Constants

19 (02.03.2010 22:55:08 отредактировано dangerous3)

mainameiz пишет:

возьмусь, для начала, за:
8. Operations and Related Topics
8.1. Operators             
8.2. Numerical Constants

Реквизиты доступа в личке. Таблицу координации поправлю позже.


UPD: Обновил таблицу координации и список участников.

bash-scripting@conference.jabber.ru - jabber-конференция для участников проекта bash-scripting.ru
http://sivkaburka.blogspot.com

20

Я бы взял главу 23

21 (09.03.2010 15:47:58 отредактировано )

admin пишет:

Я бы взял главу 23

Реквизиты svn в личке. Нужные таблицы на странице проекта обновлены.

Хочу сообщить небольшие новости о проекте. Слово Idlerу:

Хочу предупредить, что в начале апреля планируется переезд сайта на другой физический сервер. В связи с этим будет миграция с SVN на Mercurial, ибо на новый сервер subversion я устанавливать не планирую. Чтобы сохранить историю перевода в лицах мне понадобятся EMAILы всех участников перевода. Просьба кидать в личку.

Переход на mercurial для пользователей svn практически прозрачен. Более подробная информация о mercurial тут: http://hgbook.red-bean.com/read/

Точную дату переезда, адрес mercurial-репозитория ,сообщу ближе к делу.

Соответственно, участникам просьба сбросить в мою личку.

bash-scripting@conference.jabber.ru - jabber-конференция для участников проекта bash-scripting.ru
http://sivkaburka.blogspot.com

22

Перевёл главу 23. Требуется проверка.

23 (15.03.2010 22:05:29 отредактировано dangerous3)

admin пишет:

Перевёл главу 23. Требуется проверка.

Свои замечания пишу курсивом, ошибки, знаки препинания или обсуждаемый текст - полужирным:

Сложные функции и сложности функций
Предлагаю оставить, как и у Киселева - "Сложные функции и сложности с функциями"

Как и в «настоящих» языках программирования, в Bash...

...блок кода, котрый..

...помимо этого, она является более переносимой...

Функции запускаются простым упоминанием их имён...
Предлагаю "Функции запускаются простым упоминанием их имён в тексте сценария" (как у Киселева)

# Спасибо, К.О.
А не лучше ли оставить S.C.? Кэп пускай отдохнет  :)

# Спасибо, Thiemo Kellner, за указание на это.
А вот тут надо перевести имя (уже обсуждалось)

# Спасибо, К.О. и Christopher Head
См. выше

#  Конечно, это *не* желательно.
*нежелательно*

Продолжение следует...

Часть вторая:

Функция обращается к переданным ей аргументам, основываясь...

Функция, Принимающая Параметры

Она различает случаи, когда...

Команда shift  обрабатывает аргументы, переданные в функцию

А как насчёт аргументов, переданных в сценарий?
Не там запятая

Пример 23.3. Функции и аргументы командной строки, переданные в сценарий

...в shell-сценариях...

Функции обрабатывают свои аргументы как литералы.
Запятая вроде не нужна. Цитирую: "В сравнительных конструкциях запятая перед "как" НЕ ставится:
- если предложение имеет значение "в качестве" - Лев Толстой как художник гениален (в качестве художника)"
Наш случай подходит под это правило.

Что произойдёт, если мы поменяем содержимое переменной "hello"?

Разыменовывание параметра, переданного в функцию
2 раза!

Сценарий от Bruce W. Clare.
См. выше

...разыменовывание параметра, переданного в функцию
2 раза!

Спасибо Stephane Chazelas
См. выше

Продолжение следует...

Часть третья:

Функция возвращает значение, называемое кодом завершения

...и число, отличное от нуля в противном...

...который возвращается в сценарий, вызывающий функцию как «код завершения» этой функции.
"Как" здесь употребляется также в смысле "в качестве" (см. выше)

Замечание: сравниваемые числа должны быть меньше, чем 250.

Переделайте данный сценарий в интерактивный
#+ так, чтобы он запрашивал у пользователя ввод двух чисел.
Запятая перед "так" не нужна

Перевод Арабских чисел в Римские цифры
Предлагаю "Запись арабских чисел римскими цифрами"

Возвращаемое значение, если оба параметра равны.

Найдите более элегантный способ для тестирования
#+    параметров, переданных в функцию.

"ВЫВОДЕ."
Точка должна быть за кавычками

Перепишите сценарий так, чтобы...
Первая запятая не нужна

Существует альтернативный, и, возможно, менее ...

Перенаправляется stdin блока кода, вложенного в функцию.

Продолжение следует...

Часть четвертая:

Переменная, объявленная как локальная,  видна...

Теперь посмотрим, видна ли локальная переменная...

...в Bash переменная, объявленная внутри функции...

...становится локальной, *только* если это...

...все  переменные, объявленные внутри неё, будут невидимы...

...не только к переменным, объявленным явным образом как локальные
Снова как употребляется в смысле "в качестве"

...само-вызова...
Без дефиса

Herbert Mayer
См. выше

Рассматривается определение, сформулированное...

Сценарий, определяющий "рекурсию" в более наглядном виде.

Согласно Вебстерскому словарю  1913го издания.
Предлагаю "Согласно словарю Вебстера 1913 года издания"

...но их использование пораждает
порождает

Давайте на чистоту.
начистоту

# Пусть функция делает что-нибудь до тех пор, пока не произойдёт ошибка сегментирования.

До тех пор, пока первый параметр меньше вторго,

возможно использование всей памяти, отведённой под стек.

#  Спасибо, Stéphane Chazelas.
См. выше

---
Автор: M. Cooper
См. выше

Перыве два члена последовательности

# http://hanoi.kernelthread.com
Нужно сделать ссылку

Это пока все, на что я обратил внимание в этой главе.

Закончен перевод главы 17.1 "Краткое введение в регулярные выражения". Буду благодарен за любые комментарии.

bash-scripting@conference.jabber.ru - jabber-конференция для участников проекта bash-scripting.ru
http://sivkaburka.blogspot.com

24

Я бы перевёл главу 29. Debugging.

25 (17.03.2010 16:51:22 отредактировано )

Vadim пишет:

Я бы перевёл главу 29. Debugging.

В ближайшее время вышлю вам svn-аккаунт

dangerous3 пишет:
Vadim пишет:

Я бы перевёл главу 29. Debugging.

В ближайшее время вышлю вам svn-аккаунт

См. личку

bash-scripting@conference.jabber.ru - jabber-конференция для участников проекта bash-scripting.ru
http://sivkaburka.blogspot.com

26

29 глава

http://narod.ru/disk/19156001000/%D0%BF … 0.odt.html

27 (23.04.2010 20:50:01 отредактировано dangerous3)

Будьте добры, залейте перевод в svn-сервер проекта. С вопросами обращайтесь в конференцию.

Замечания (мои - курсивом, в вашем тексте - болдом):

1. Поэтому, если вы пишите код так ловко, как это возможно, вы по определению недостаточно умны, чтобы отладить его.

2. О примерах скриптов пишите в конференцию, поможем.

3. но строки, где интерпретатор Bash останавливается, становятся известными.

4. Что, если скрипт выполняется, но не работает, как ожидалось?

5. Постарайтесь найти, что неверно в Примере 29.3

6. раскрмментировав

7. Echo-заявления

8. полезны для того, чтобы видеть то, что вы действительно получаете.
предлагаю "чтобы видеть, что вы действительно получаете"

9. желемых

10.  Однако есть более простые способы сделать это
Предлагаю  "Однако есть более простые способы, чтобы сделать это"

11. #Правильные методы удаления имён файлов, содержащих пробелы.

12. Спасибо S.C.
без промежуточной точки

13. Итоговые особенности скрипта с ошибкой:
с двоеточием лучше

14. Список из трех элементов опущен (Итоговые особенности скрипта с ошибкой)

15. by Stefano Falsetto
Нужно переводить, уже обсуждалось

16. Использование ти фильтров

17. Установка параметров флагов -n -v -x
Предлагаю "Использование ключей -n -v -x"

18. sh -n scriptname проверяет наличие синтаксических ошибок без фактического запуска скрипта.
Без запятой

19. Это эквивалентно набору -n или -о noexec в скрипте
Очень грубый перевод. Лучше "Это эквивалентно вставке в сценарий команд set -n или set -o noexec"

20. Это эквивалентно вводу -v или -o в скрипт.
То же самое. "Set" не надо тут переводить как "набор"

21. Я бы переводил не "флаги", а "ключи" командной строки



22. Это эквивалентно вводу -х или -o xtrace в скрипт.
См. выше о set

23. Ввод -u или -o nounset запускает его
См. выше о set

Продолжение следует...

Часть вторая

Использование функции «assert — объявить»

Предлагаю убрать "- объявить". Либо, в крайнем случае, поместить объяснение в скобки с замечанием "прим. перев."

Пример 29.4. Проверка условия с объявлением

Предлагаю "Проверка условия с использованием функции assert"

Использование переменной $LINENO и встроенного вызова.

Неточный перевод, на мой взгляд, лучше "Использование переменной $LINENO и встроенной команды caller".

Ловушка на выходе.

Команда выхода запускает сигнал 0, прекращая процесс, то есть сам скрипт. [110] Это часто полезно для ловушки выхода, например форсируя «распечатку» переменных. Ловушка должна быть первой командой в скрипте.

И этот перевод можно улучшить, как мне кажется. Как - чуть попозже, кое-что выясняю для себя.

trap - ловушка

trap (ловушка)

Определяет действия при получении сигнала

Сигнал - это сообщение, переданное процессу;
ядро либо другой процесс передают его, чтобы совершить некоторые определенные действия (обычно для завершения процесса)

Например, нажатие  Control-C отправляет сигнал прерывания INT к запущенной программе.

ловушка '' 2
#Игнорировать прерывание 2 (Control-C), когда действие не указано.

ловушка 'echo "Control-C disabled."' 2
#Сообщить, когда  Control-C нажата.

trap здесь не переводится.

Trapping at exit

Упоминал выше, отпишусь позже.

команда ловушки

команда trap

на SMP box

на мультипроцессорной машине

ловушка '' SIGNAL

скрипта, ловушка  SIGNAL

"ловушка" не переводится

защиты

ловушка '' 2  # Сигнал 2  Control-C, в настоящее время отключена.
    команда
    команда
    команда
    ловушка 2  # Reenables Control-C

"ловушка" не переводится

В версии 3 Bash ... в отладчике:

В третьей версии Bash

Количество аргументов командной строки, передающиеся скрипту, аналогична$#.

Последний параметр командной строки, передающийся в скрипт, эквивалентен ${!#}.

Массив переменных, связанный с оператором совпадения с шаблоном регулярного выражения =~

То же, что и $0.

Жду ваших исправлений или комментариев.

Немного запоздало, но ранее не получалось отписать объявление:

"Предполагаемая дата переезда на Mercurial - 20-21 апреля 2010 года (вторник-среда на будущей неделе). Просьба участникам проекта ничего не коммитить в эти дни. Дополнительная информация будет сообщена позднее."



Проект перешел на DVCS Mercurial. Вы можете получить клон репозитория вот так:

hg clone http://www.bash-scripting.ru/abs-translate/
bash-scripting@conference.jabber.ru - jabber-конференция для участников проекта bash-scripting.ru
http://sivkaburka.blogspot.com

28

dangerous3 пишет:

1. Поэтому, если вы пишите код так ловко, как это возможно, вы по определению недостаточно умны, чтобы отладить его.

Пишете…

29 (18.05.2010 11:10:37 отредактировано )

Спасибо, исправим!

По причине внезапно наступившего отпуска написание сообщения о изменении рабочего процесса проекта bash-scripting.ru затянулось. Что же, пришло время написать об этом. Прежде всего упомяну, что порядок этот далеко не идеален и сложился прежде всего из обсуждения с idler'ом деталей. Если у вас (участников проекта) есть дельные предложения, добро пожаловать в джаббер-конференцию проекта.
В связи в переходом на меркуриал workflow пока будет выглядеть так:

1. Делаем себе клон основного репозитория:

hg clone http://www.bash-scripting.ru/abs-translate/ 

2. Создаем директорию для очередей:

hg qinit

Затем создаем патч:

hg qnew -m "Chapter 17.1 translation" ch-17-1.patch

,указывая в имени, часть какой главы переведена.
3. Далее переводим свою главу в соответствии с таблицей координации на сайте проекта
4. Допустим, мы перевели треть главы. Выполняем make в директории src.
5. Смотрим, применен ли патч в рабочей директории:
Код

hg qapplied

6. Допустим, перевели вторую треть главы. После успешного выполнения make обновляем наш примененный патч:

hg qrefresh

7. Закончили перевод оставшейся части. Снова после make обновляем патч:

hg qrefresh

8. Включаем расширение Patchbomb:
В файле ~/.hgrc прописываем:

[extensions]
hgext.patchbomb = 
[smtp]
host = smtp.example.com
username = joeuser
password = secret

9. Отправляем мне патч:

hg email -a -r номер_ревизии -t dangerous3@yandex.ru

10. Я смотрю, если есть вопросы - задаю в форуме, обсуждаем
11. Если нужно, патч снова правится участником проекта, затем снова отсылается мне.
12. Я применяю патч и заливаю окончательный вариант на сервер проекта

Еще раз повторю: Если есть дополнения и улучшения - welcome.

bash-scripting@conference.jabber.ru - jabber-конференция для участников проекта bash-scripting.ru
http://sivkaburka.blogspot.com

30

А это что, не перевод? [http://www.opennet.ru/docs/RUS/bash_scripting_guide/]