LinuxForum.Fans
Тема

Перевод ABS на русский

Автор: dangerous3 42 сообщений 37026 просмотров
#7818
admin написал:
Я бы взял главу 23

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

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

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

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

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

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

#12398

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

#12462
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 "Краткое введение в регулярные выражения". Буду благодарен за любые комментарии.

#14758

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

#15354
Vadim написал:
Я бы перевёл главу 29. Debugging.

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

dangerous3 написал:
[quote=Vadim]Я бы перевёл главу 29. Debugging.

В ближайшее время вышлю вам svn-аккаунт[/quote]
См. личку

#21179
Vadim написал:

Будьте добры, залейте перевод в 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. Вы можете получить клон репозитория вот так:

text
hg clone http://www.bash-scripting.ru/abs-translate/
#40433
dangerous3 написал:

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

Пишете…

#40652

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

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

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

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

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

text
hg qinit

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

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

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

text
hg qapplied

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

text
hg qrefresh

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

text
hg qrefresh

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

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

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

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

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

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

#43339

А это что, не перевод?

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

#111901

Закончен перевод главы 18 "Встроенные документы" http://www.bash-scripting.ru/abs/chunks/ch18.html
Ошибки и замечания приветствуются.

P.S. С наступающим Новым Годом!

#139886

Привет всем! В нашем проекте есть некоторые изменения. На странице проекта добавлен раздел для размещения ваших полезных shell-сценариев для самых разнообразных областей применения:

http://www.bash-scripting.ru/script

По замыслу автора (idler'а), данный раздел будет полезным расширением канонического текста ABS.
Милости просим!

P.S. Ну, и как всегда - замечания и предложения приветствуются

#196431

Отличная новость!!

#201348

dangerous3, а есть ли содержание (навигатор) по книге?

#201545
Nigelist написал:
dangerous3, а есть ли содержание (навигатор) по книге?

Это оно?

#201567

dangerous3, оно спасибо! smile И как работа по переводу продвигается или все встало?

#201604
Nigelist написал:
dangerous3, оно спасибо! smile И как работа по переводу продвигается или все встало?

Потихоньку продвигается, правда кроме меня, никто в последнее время активность не проявляет.

Войдите или зарегистрируйтесь, чтобы ответить.