1 <?xml version=
"1.0" encoding=
"UTF-8"?>
2 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" lang=
"ru" xml:
lang=
"ru">
7 * Copyright 2009, Haiku. All rights reserved.
8 * Distributed under the terms of the MIT License.
11 * Humdinger <humdingerb@gmail.com>
20 <meta http-equiv=
"content-type" content=
"text/html; charset=utf-8" />
21 <meta http-equiv=
"Content-Style-Type" content=
"text/css" />
22 <meta name=
"robots" content=
"all" />
23 <title>Bash и скрипты
</title>
24 <meta name=
"viewport" content=
"width=device-width, initial-scale=1.0" />
25 <link rel=
"stylesheet" type=
"text/css" href=
"../Haiku-doc.css" />
30 <div><span>Руководство пользователя
</span></div>
35 <ul class=
"lang-menu">
36 <li class=
"now"><img src=
"../images/flags/ru.png" alt=
"" /> Русский
</li>
37 <li><a href=
"../ca/bash-scripting.html"><img src=
"../images/flags/ca.png" alt=
"" />Català
</a></li>
38 <li><a href=
"../de/bash-scripting.html"><img src=
"../images/flags/de.png" alt=
"" />Deutsch
</a></li>
39 <li><a href=
"../en/bash-scripting.html"><img src=
"../images/flags/gb.png" alt=
"" />English
</a></li>
40 <li><a href=
"../es/bash-scripting.html"><img src=
"../images/flags/es.png" alt=
"" />Español
</a></li>
41 <li><a href=
"../fr/bash-scripting.html"><img src=
"../images/flags/fr.png" alt=
"" />Français
</a></li>
42 <li><a href=
"../it/bash-scripting.html"><img src=
"../images/flags/it.png" alt=
"" />Italiano
</a></li>
43 <li><a href=
"../hu/bash-scripting.html"><img src=
"../images/flags/hu.png" alt=
"" />Magyar
</a></li>
44 <li><a href=
"../pl/bash-scripting.html"><img src=
"../images/flags/pl.png" alt=
"" />Polski
</a></li>
45 <li><a href=
"../pt_PT/bash-scripting.html"><img src=
"../images/flags/pt_PT.png" alt=
"" />Português
</a></li>
46 <li><a href=
"../pt_BR/bash-scripting.html"><img src=
"../images/flags/pt_BR.png" alt=
"" />Português (Brazil)
</a></li>
47 <li><a href=
"../ro/bash-scripting.html"><img src=
"../images/flags/ro.png" alt=
"" />Română
</a></li>
48 <li><a href=
"../sk/bash-scripting.html"><img src=
"../images/flags/sk.png" alt=
"" />Slovenčina
</a></li>
49 <li><a href=
"../fi/bash-scripting.html"><img src=
"../images/flags/fi.png" alt=
"" />Suomi
</a></li>
50 <li><a href=
"../sv_SE/bash-scripting.html"><img src=
"../images/flags/sv_SE.png" alt=
"" />Svenska
</a></li>
51 <li><a href=
"../zh_CN/bash-scripting.html"><img src=
"../images/flags/zh_CN.png" alt=
"" /> 中文 [中文]
</a></li>
52 <li><a href=
"../uk/bash-scripting.html"><img src=
"../images/flags/uk.png" alt=
"" />Українська
</a></li>
53 <li><a href=
"../jp/bash-scripting.html"><img src=
"../images/flags/jp.png" alt=
"" />日本語
</a></li>
56 «
<a href=
"preferences.html">Настройки
</a>
57 ::
<a href=
"contents.html" class=
"uplink">Содержание
</a>
58 <!-- :: <a href="filesystem-layout.html">Иерархия файловой системы</a> » -->
65 <h1>Bash и скрипты
</h1>
67 <p>"Скриптинг" - это техника автоматизации процедур путем объединения команд и сохранения их в виде текстовых файлов, называемых
"скриптами" (
"сценариями"). Всякий раз, когда вы запускаете скрипт, команды обрабатываются одна за одной так, будто они были введены вами в
<a href=
"applications/terminal.html">Терминале (Terminal)
</a> вручную.
<br />
68 Скрипты могут варьироваться от простейших, выполняющих всего несколько команд в особом порядке, до нетривиальных фрагментов кода, решающих сложные задачи.
</p>
71 <a href=
"#"><img src=
"../images/up.png" style=
"border:none;float:right" alt=
"index" /></a>
72 <a id=
"bash" name=
"bash">Bash
</a></h2>
73 <p>Учитывая, что скрипты во многом зависят от оболочки, в которой они интерпретируются, для начала вам следует ознакомиться с BASH, который используется в Haiku. В сети есть достаточно много ресурсов, ведь эта оболочка широко распространена. Хорошим руководством послужит работа Йохана Янссона (Johan Jansson)
<a href=
"https://web.archive.org/web/20011205095723/http://www.beforever.com/bashtut.htm" class=
"printurl">Введение в bash - Руководство по bash для BeOS
</a>.
<br />
74 <a href=
"https://www.gnu.org/software/bash/manual/bash.pdf" class=
"printurl">Bash Reference Manual (PDF,
720 KiB)
</a> хороший ресурс, чтобы разобраться в деталях.
</p>
77 <a href=
"#"><img src=
"../images/up.png" style=
"border:none;float:right" alt=
"index" /></a>
78 <a id=
"scripting-bible" name=
"scripting-bible">Библия скриптинга
</a></h2>
79 <p>После того, как вы изучили некоторые основы работы в командной строке, пришло время выпускать себя в мир скриптинга. Опять же, множество руководств вы найдете в сети и на полках книжных магазинов. Книга, созданная специально для Haiku, доступна онлайн:
<a href=
"http://www.birdhouse.org/beos/bible/bos/ch_scripting1.html" class=
"printurl">Scripting Chapter
</a> (
<a href=
"http://www.birdhouse.org/beos/bible/bos/BeOS.scripting.PDF">PDF,
900кб
</a>) от создателя
"BeOS Bible" - Скота Хакера (Scot Hacker).
</p>
82 <a href=
"#"><img src=
"../images/up.png" style=
"border:none;float:right" alt=
"index" /></a><a id=
"user-scripts" name=
"user-scripts">Скрипты в Haiku
</a></h2>
83 <p>Раньше Haiku использовала скрипты для загрузки и завершения работы. Теперь для этого применяется демон загрузки
<a href=
"https://dev.haiku-os.org/wiki/LaunchDaemon">launch_daemon
</a> Тем не менее пользователь все равно может влиять на процесс при помощи скриптов. Если они еще не существуют, вам придется создать их самостоятельно. В ином случае просто добавьте нужные команды туда, где они должны быть выполнены.
</p>
86 <a href=
"#"><img src=
"../images/up.png" style=
"border:none;float:right" alt=
"index" /></a>
87 <a id=
"userbootscript" name=
"userbootscript">UserBootscript
</a></h3>
88 <p><span class=
"path">/boot/home/config/settings/boot/UserBootscript
</span> будет выполнен после того, как система завершит процесс загрузки. Например, вы можете добавить несколько программ, которые будут автоматически стартовать при каждой загрузке:
</p>
89 <pre># Запуск LaunchBox
90 /boot/system/apps/LaunchBox
&
93 /boot/system/apps/Workspaces
&</pre>
94 <p>Не забудьте добавить в конце команды знак
"<tt>&</tt>", чтобы запустить этот процесс в фоновом режиме, иначе скрипт зависнет, пока эта команда не будет завершена (в данном случае, когда запущенное приложение будет закрыто).
</p>
96 <p>Более простая альтернатива для запускающихся приложений во время загрузки - разместить ссылки на необходимые программы в папке
<span class=
"path">/boot/home/config/settings/boot/launch
</span>. Это может быть сделано правым кликом по приложению, которое вы хотели бы поместить в автозапуск, выбрав меню
<span class=
"menu">Создать ссылку (Create Link)
</span> и затем выполнив перемещение по папкам используя
<a href=
"tracker.html#navigating">навигацию
</a>.
</p>
99 <a href=
"#"><img src=
"../images/up.png" style=
"border:none;float:right" alt=
"index" /></a>
100 <a id=
"usershutdownscript" name=
"usershutdownscript">UserShutdownScript
</a></h3>
101 <p><span class=
"path">/boot/home/config/settings/boot/UserShutdownScript
</span> будет выполнен в качестве первого этапа в процессе завершения работы. Если скрипт возвращает ненулевой результат по окончании, завершение работы прекращается.
</p>
104 <a href=
"#"><img src=
"../images/up.png" style=
"border:none;float:right" alt=
"index" /></a>
105 <a id=
"usershutdownfinishscript" name=
"usershutdownfinishscript">UserShutdownFinishScript
</a></h3>
106 <p><span class=
"path">/boot/home/config/settings/boot/UserShutdownFinishScript
</span> выполняется в последнюю очередь в процессе завершения работы. Имейте ввиду, что большинство элементов системы уже не функционируют во время выполнения этого скрипта.
</p>
112 <div class=
"inner"><span>
113 «
<a href=
"preferences.html">Настройки
</a>
114 ::
<a href=
"contents.html" class=
"uplink">Содержание
</a>
115 <!-- :: <a href="filesystem-layout.html">Иерархия файловой системы</a> » -->