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=
"uk" xml:
lang=
"uk">
7 * Copyright 2009, Haiku. All rights reserved.
8 * Distributed under the terms of the MIT License.
11 * Humdinger <humdingerb@gmail.com>
17 <meta http-equiv=
"content-type" content=
"text/html; charset=utf-8" />
18 <meta http-equiv=
"Content-Style-Type" content=
"text/css" />
19 <meta name=
"robots" content=
"all" />
20 <title>Bash і написання скриптів
</title>
21 <meta name=
"viewport" content=
"width=device-width, initial-scale=1.0" />
22 <link rel=
"stylesheet" type=
"text/css" href=
"../Haiku-doc.css" />
27 <div><span>Настанова користувачеві
</span></div>
32 <ul class=
"lang-menu">
33 <li class=
"now"><img src=
"../images/flags/uk.png" alt=
"" /> Українська
</li>
34 <li><a href=
"../ca/bash-scripting.html"><img src=
"../images/flags/ca.png" alt=
"" />Català
</a></li>
35 <li><a href=
"../de/bash-scripting.html"><img src=
"../images/flags/de.png" alt=
"" />Deutsch
</a></li>
36 <li><a href=
"../en/bash-scripting.html"><img src=
"../images/flags/gb.png" alt=
"" />English
</a></li>
37 <li><a href=
"../es/bash-scripting.html"><img src=
"../images/flags/es.png" alt=
"" />Español
</a></li>
38 <li><a href=
"../fr/bash-scripting.html"><img src=
"../images/flags/fr.png" alt=
"" />Français
</a></li>
39 <li><a href=
"../it/bash-scripting.html"><img src=
"../images/flags/it.png" alt=
"" />Italiano
</a></li>
40 <li><a href=
"../hu/bash-scripting.html"><img src=
"../images/flags/hu.png" alt=
"" />Magyar
</a></li>
41 <li><a href=
"../pl/bash-scripting.html"><img src=
"../images/flags/pl.png" alt=
"" />Polski
</a></li>
42 <li><a href=
"../pt_PT/bash-scripting.html"><img src=
"../images/flags/pt_PT.png" alt=
"" />Português
</a></li>
43 <li><a href=
"../pt_BR/bash-scripting.html"><img src=
"../images/flags/pt_BR.png" alt=
"" />Português (Brazil)
</a></li>
44 <li><a href=
"../ro/bash-scripting.html"><img src=
"../images/flags/ro.png" alt=
"" />Română
</a></li>
45 <li><a href=
"../sk/bash-scripting.html"><img src=
"../images/flags/sk.png" alt=
"" />Slovenčina
</a></li>
46 <li><a href=
"../fi/bash-scripting.html"><img src=
"../images/flags/fi.png" alt=
"" />Suomi
</a></li>
47 <li><a href=
"../sv_SE/bash-scripting.html"><img src=
"../images/flags/sv_SE.png" alt=
"" />Svenska
</a></li>
48 <li><a href=
"../zh_CN/bash-scripting.html"><img src=
"../images/flags/zh_CN.png" alt=
"" /> 中文 [中文]
</a></li>
49 <li><a href=
"../ru/bash-scripting.html"><img src=
"../images/flags/ru.png" alt=
"" />Русский
</a></li>
50 <li><a href=
"../jp/bash-scripting.html"><img src=
"../images/flags/jp.png" alt=
"" />日本語
</a></li>
53 «
<a href=
"preferences.html">Налаштування (Preferences)
</a>
54 ::
<a href=
"contents.html" class=
"uplink">Зміст
</a>
55 <!-- :: <a href="filesystem-layout.html">Filesystem layout</a> » -->
61 <div class=
"box-info">Переклад даної сторінки ще неповний. Допоки це так, незавершені частини користайте у англійському варіанті.
</div>
63 <h1>Bash і написання скриптів
</h1>
65 <p>"Скриптинг"- це техніка автоматизаціі процедур шляхом об'єднання команд і збереження їх у вигляді текстових файлів, які називаються
"скриптами" (
"сценаріями"). Кожен раз коли Ви запускаєте скрипт, команди обробляються одна за одною так, ніби вони були введені в
<a href=
"applications/terminal.html">Терміналі(Terminal)
</a> вручну.
<br />
66 Скрипти можуть змінюватись від простих, що виконують кілька команд в певному порядку, до нетривіальних фрагментів коду, який вирішує надскадні завдання.
</p>
69 <a href=
"#"><img src=
"../images/up.png" style=
"border:none;float:right" alt=
"index" /></a>
70 <a id=
"bash" name=
"bash">Bash
</a></h2>
71 <p>Since scripts rely naturally a lot on the shell they are interpreted by, you should first familiarize yourself with the BASH that's used by Haiku. There are many resources online as it's a widely used shell. One nice document is Johan Jansson's
<a href=
"https://web.archive.org/web/20011205095723/http://www.beforever.com/bashtut.htm" class=
"printurl">Introduction to bash - a tutorial for bash under BeOS
</a>.
<br />
72 The
<a href=
"https://www.gnu.org/software/bash/manual/bash.pdf" class=
"printurl">Bash Reference Manual (PDF,
720 KiB)
</a> is a nice resource to get into the details.
</p>
75 <a href=
"#"><img src=
"../images/up.png" style=
"border:none;float:right" alt=
"index" /></a>
76 <a id=
"scripting-bible" name=
"scripting-bible">Біблія скриптингу
</a></h2>
77 <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,
900kb
</a>) від автора BeOS Bible Скота Хакера (Scot Hacker's) .
</p>
80 <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>
81 <p>Зрозуміло, що в роботі Haiku теж використовуються скрипти. Завантаження і завершення роботи - типово скриптові процедури. Сьогодні замість них використовується
<a href=
"https://dev.haiku-os.org/wiki/LaunchDaemon">launch_daemon
</a>. Ці чітко визначені послідовності можуть бути розширені за допомогою користувацьких скриптів.
<br />
82 Якщо вони ще не існують Вам доведеться самостійно їх створити. В іншому випадку просто додайте потрібні команди в те місце де вони повинні виконуватись.
</p>
85 <a href=
"#"><img src=
"../images/up.png" style=
"border:none;float:right" alt=
"index" /></a>
86 <a id=
"userbootscript" name=
"userbootscript"> UserBootscript (Завантажувальний скрипт користувача)
</a></h3>
87 <p><span class=
"path">/boot/home/config/settings/boot/UserBootscript
</span> буде виконаний після того як система завершить процес завантаження. Наприклад, Ви можете додати кілька програм, які стартуватимуть при кожному завантаженні:
</p>
88 <pre># Запуск LaunchBox
89 /boot/system/apps/LaunchBox
&
92 /boot/system/apps/Workspaces
&</pre>
93 <p>Не забудьте додати в кінці команди знак
"<tt>&</tt>" щоб запустити цей процес у фоновому режимі, інакше скрипт зависне , поки ця команда не буде завершена (У нашому випадку, коли запущений додаток буде закрито).
</p>
95 <p>Простішою альтернативою для додатків, котрі запускаються під час завантаження - розміщення посилання на потрібні програми в теці
<span class=
"path">/boot/home/config/settings/boot/launch
</span>. Це можна зробити правим кліком по додатку, котрий Ви бажаєте помістити в автозапуск вибором в меню
<span class=
"menu">Створити посилання (Create Link)
</span> і переміщенням по теках з використанням
<a href=
"tracker.html#navigating">навігації
</a> до потрібного каталогу.
</p>
98 <a href=
"#"><img src=
"../images/up.png" style=
"border:none;float:right" alt=
"index" /></a>
99 <a id=
"usershutdownscript" name=
"usershutdownscript">UserShutdownScript
</a></h3>
100 <p><span class=
"path">/boot/home/config/settings/boot/UserShutdownScript
</span> буде виконаний в якості початкового етапу процесу завершення роботи.
101 Якщо скрипт поверне ненульовий результат після свого закінчення, то завершення роботи буду призупинено.
</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">Налаштування (Preferences)
</a>
114 ::
<a href=
"contents.html" class=
"uplink">Зміст
</a>
115 <!-- :: <a href="filesystem-layout.html">Filesystem layout</a> » -->