125 lines
10 KiB
HTML
125 lines
10 KiB
HTML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru">
|
||
<head>
|
||
<!--
|
||
*
|
||
* Copyright 2009, Haiku. All rights reserved.
|
||
* Distributed under the terms of the MIT License.
|
||
*
|
||
* Authors:
|
||
* Humdinger <humdingerb@gmail.com>
|
||
* Translators:
|
||
* Akuji
|
||
* Sergei Reznikov
|
||
* Humdinger
|
||
* Michael Smirnov
|
||
* mrNoisy
|
||
* Vsevolod
|
||
*
|
||
-->
|
||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||
<meta http-equiv="Content-Style-Type" content="text/css" />
|
||
<meta name="robots" content="all" />
|
||
<title>Bash и скрипты</title>
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<link rel="stylesheet" type="text/css" href="../Haiku-doc.css" />
|
||
</head>
|
||
<body>
|
||
|
||
<div id="banner">
|
||
<div><span>Руководство пользователя</span></div>
|
||
</div>
|
||
|
||
<div class="nav">
|
||
<div class="inner">
|
||
<ul class="lang-menu">
|
||
<li class="now"><img src="../images/flags/ru.png" alt="" /> Русский</li>
|
||
<li><a href="../id/bash-scripting.html"><img src="../images/flags/id.png" alt="" />Bahasa Indonesia</a></li>
|
||
<li><a href="../ca/bash-scripting.html"><img src="../images/flags/ca.png" alt="" />Català</a></li>
|
||
<li><a href="../de/bash-scripting.html"><img src="../images/flags/de.png" alt="" />Deutsch</a></li>
|
||
<li><a href="../en/bash-scripting.html"><img src="../images/flags/gb.png" alt="" />English</a></li>
|
||
<li><a href="../es/bash-scripting.html"><img src="../images/flags/es.png" alt="" />Español</a></li>
|
||
<li><a href="../fr/bash-scripting.html"><img src="../images/flags/fr.png" alt="" />Français</a></li>
|
||
<li><a href="../fur/bash-scripting.html"><img src="../images/flags/fur.png" alt="" />Furlan</a></li>
|
||
<li><a href="../it/bash-scripting.html"><img src="../images/flags/it.png" alt="" />Italiano</a></li>
|
||
<li><a href="../hu/bash-scripting.html"><img src="../images/flags/hu.png" alt="" />Magyar</a></li>
|
||
<li><a href="../pl/bash-scripting.html"><img src="../images/flags/pl.png" alt="" />Polski</a></li>
|
||
<li><a href="../pt_PT/bash-scripting.html"><img src="../images/flags/pt_PT.png" alt="" />Português</a></li>
|
||
<li><a href="../pt_BR/bash-scripting.html"><img src="../images/flags/pt_BR.png" alt="" />Português (Brazil)</a></li>
|
||
<li><a href="../ro/bash-scripting.html"><img src="../images/flags/ro.png" alt="" />Română</a></li>
|
||
<li><a href="../sk/bash-scripting.html"><img src="../images/flags/sk.png" alt="" />Slovenčina</a></li>
|
||
<li><a href="../fi/bash-scripting.html"><img src="../images/flags/fi.png" alt="" />Suomi</a></li>
|
||
<li><a href="../sv_SE/bash-scripting.html"><img src="../images/flags/sv_SE.png" alt="" />Svenska</a></li>
|
||
<li><a href="../tr/bash-scripting.html"><img src="../images/flags/tr.png" alt="" />Türkçe</a></li>
|
||
<li><a href="../zh_CN/bash-scripting.html"><img src="../images/flags/zh_CN.png" alt="" /> 中文 [中文]</a></li>
|
||
<li><a href="../uk/bash-scripting.html"><img src="../images/flags/uk.png" alt="" />Українська</a></li>
|
||
<li><a href="../jp/bash-scripting.html"><img src="../images/flags/jp.png" alt="" />日本語</a></li>
|
||
</ul>
|
||
<span>
|
||
« <a href="preferences.html">Настройки</a>
|
||
:: <a href="contents.html" class="uplink">Содержание</a>
|
||
<!-- :: <a href="filesystem-layout.html">Иерархия файловой системы</a> » -->
|
||
</span></div>
|
||
</div>
|
||
|
||
<div id="content">
|
||
<div>
|
||
|
||
<h1>Bash и скрипты</h1>
|
||
|
||
<p>"Скриптинг" - это техника автоматизации процедур путем объединения команд и сохранения их в виде текстовых файлов, называемых "скриптами" ("сценариями"). Всякий раз, когда вы запускаете скрипт, команды обрабатываются одна за одной так, будто они были введены вами в <a href="applications/terminal.html">Терминале (Terminal)</a> вручную.<br />
|
||
Скрипты могут варьироваться от простейших, выполняющих всего несколько команд в особом порядке, до нетривиальных фрагментов кода, решающих сложные задачи.</p>
|
||
|
||
<h2>
|
||
<a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
|
||
<a id="bash" name="bash">Bash</a></h2>
|
||
<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 />
|
||
<a href="https://www.gnu.org/software/bash/manual/bash.pdf" class="printurl">Bash Reference Manual (PDF, 720 KiB)</a> хороший ресурс, чтобы разобраться в деталях.</p>
|
||
|
||
<h2>
|
||
<a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
|
||
<a id="scripting-bible" name="scripting-bible">Библия скриптинга</a></h2>
|
||
<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>
|
||
|
||
<h2>
|
||
<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>
|
||
<p>Раньше Haiku использовала скрипты для загрузки и завершения работы. Теперь для этого применяется демон загрузки <a href="https://dev.haiku-os.org/wiki/LaunchDaemon">launch_daemon</a> Тем не менее пользователь все равно может влиять на процесс при помощи скриптов. Если они еще не существуют, вам придется создать их самостоятельно. В ином случае просто добавьте нужные команды туда, где они должны быть выполнены.</p>
|
||
|
||
<h3>
|
||
<a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
|
||
<a id="userbootscript" name="userbootscript">UserBootscript</a></h3>
|
||
<p><span class="path">/boot/home/config/settings/boot/UserBootscript</span> будет выполнен после того, как система завершит процесс загрузки. Например, вы можете добавить несколько программ, которые будут автоматически стартовать при каждой загрузке:</p>
|
||
<pre># Запуск LaunchBox
|
||
/boot/system/apps/LaunchBox &
|
||
|
||
# Запуск Workspaces
|
||
/boot/system/apps/Workspaces &</pre>
|
||
<p>Не забудьте добавить в конце команды знак "<tt>&</tt>", чтобы запустить этот процесс в фоновом режиме, иначе скрипт зависнет, пока эта команда не будет завершена (в данном случае, когда запущенное приложение будет закрыто).</p>
|
||
|
||
<p>Более простая альтернатива для запускающихся приложений во время загрузки - разместить ссылки на необходимые программы в папке <span class="path">/boot/home/config/settings/boot/launch</span>. Это может быть сделано правым кликом по приложению, которое вы хотели бы поместить в автозапуск, выбрав меню <span class="menu">Создать ссылку (Create Link)</span> и затем выполнив перемещение по папкам используя <a href="tracker.html#navigating">навигацию</a>.</p>
|
||
|
||
<h3>
|
||
<a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
|
||
<a id="usershutdownscript" name="usershutdownscript">UserShutdownScript - <i>пока не работает</i></a></h3>
|
||
<p><span class="path">/boot/home/config/settings/boot/UserShutdownScript</span> будет выполнен в качестве первого этапа в процессе завершения работы. Если скрипт возвращает ненулевой результат по окончании, завершение работы прекращается.</p>
|
||
|
||
<h3>
|
||
<a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
|
||
<a id="usershutdownfinishscript" name="usershutdownfinishscript">UserShutdownFinishScript - <i>пока не работает</i></a></h3>
|
||
<p><span class="path">/boot/home/config/settings/boot/UserShutdownFinishScript</span> выполняется в последнюю очередь в процессе завершения работы. Имейте ввиду, что большинство элементов системы уже не функционируют во время выполнения этого скрипта.</p>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<div class="nav">
|
||
<div class="inner"><span>
|
||
« <a href="preferences.html">Настройки</a>
|
||
:: <a href="contents.html" class="uplink">Содержание</a>
|
||
<!-- :: <a href="filesystem-layout.html">Иерархия файловой системы</a> » -->
|
||
</span></div>
|
||
</div>
|
||
|
||
</body>
|
||
</html>
|