<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Кибер-Фанк v2.0 &#187; bash</title>
	<atom:link href="http://www.shatlovsky.ru/category/bash/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.shatlovsky.ru</link>
	<description>Information must be free</description>
	<lastBuildDate>Thu, 29 Apr 2010 16:23:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>freebsd+screen+mc: read (subshell_pty&#8230;): Unknown error: 0 (0)</title>
		<link>http://www.shatlovsky.ru/2009/07/07/freebsdscreenmc-read-subshell_pty-unknown-error-0-0/</link>
		<comments>http://www.shatlovsky.ru/2009/07/07/freebsdscreenmc-read-subshell_pty-unknown-error-0-0/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 07:45:31 +0000</pubDate>
		<dc:creator>Alex Shatlovsky</dc:creator>
				<category><![CDATA[bash]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[screen]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://www.shatlovsky.ru/?p=106</guid>
		<description><![CDATA[Столкнулся с проблемой. Во FreeBSD под screen после отстрела mc новые экземпляры mc отказываются запускаться, выводя загадочное сообщение об ошибке: read (subshell_pty...): Unknown error: 0 (0) Похоже, проблема в том, что после отстрела mc остались процессы в состоянии STOP. Воспроизвести глюк не удалось, поэтому привожу решение, которое помогло мне: $ killall -CONT bash2 (посылаем CONT [...]]]></description>
			<content:encoded><![CDATA[<p>Столкнулся с проблемой. Во FreeBSD под screen после отстрела mc новые экземпляры mc отказываются запускаться, выводя загадочное сообщение об ошибке:</p>
<p><code>read (subshell_pty...): Unknown error: 0 (0)</code></p>
<p>Похоже, проблема в том, что после отстрела mc остались процессы в состоянии STOP.</p>
<p>Воспроизвести глюк не удалось, поэтому привожу решение, которое помогло мне:<br />
<code>$ killall -CONT bash2</code><br />
(посылаем CONT своему шеллу)</p>
<p><strong>Ссылки по теме:</strong></p>
<ul>
<li><a href="http://www.opennet.ru/tips/info/708.shtml">http://www.opennet.ru/tips/info/708.shtml</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.shatlovsky.ru/2009/07/07/freebsdscreenmc-read-subshell_pty-unknown-error-0-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>bash: горячие клавиши</title>
		<link>http://www.shatlovsky.ru/2009/06/17/bash-goryachie-klavishi/</link>
		<comments>http://www.shatlovsky.ru/2009/06/17/bash-goryachie-klavishi/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 06:20:04 +0000</pubDate>
		<dc:creator>Alex Shatlovsky</dc:creator>
				<category><![CDATA[bash]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://www.shatlovsky.ru/?p=100</guid>
		<description><![CDATA[Полный мануал как обычно: man bash , ключевые слова в квадратных скобках: Перемещение: слово-назад – Alt-B [backward-word (M-b)] слово-вперед - Alt-W [forward-word (M-f)] начало-строки - Ctrl-A [beginning-of-line (C-a)] конец-строки - Ctrl-E [end-of-line (C-e)] Удаление: удалить-строку-вперед - Ctrl-K [kill-line (C-k)] - от курсора до конца строки удалить-строку-назад - Ctrl-U [unix-line-discard (C-u)] - от курсора до начала [...]]]></description>
			<content:encoded><![CDATA[<p>Полный мануал как обычно:
<pre class="bash"><span style="color: #c20cb9; font-weight: bold;">man</span> bash</pre>
<p>, ключевые слова в квадратных скобках:</p>
<p>Перемещение:<br />
<strong>слово-назад</strong> – Alt-B [backward-word (M-b)]<br />
<strong>слово-вперед</strong> - Alt-W [forward-word (M-f)]<br />
<strong>начало-строки</strong> - Ctrl-A [beginning-of-line (C-a)]<br />
<strong>конец-строки</strong> - Ctrl-E [end-of-line (C-e)]</p>
<p>Удаление:<br />
<strong>удалить-строку-вперед</strong> - Ctrl-K [kill-line (C-k)] - от курсора до конца строки<br />
<strong>удалить-строку-назад</strong> - Ctrl-U [unix-line-discard (C-u)] - от курсора до начала строки<br />
<strong>удалить-слово-вперед</strong> - Alt-D [kill-word (M-d)] - от курсора до конца слова<br />
<strong>удалить-слово-назад</strong> - Alt-Backspace [backward-kill-word (M-Rubout)] - от курсора до начала слова</p>
<p>(Обновляется. Последнее изменение: 17 июня 2009 г.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shatlovsky.ru/2009/06/17/bash-goryachie-klavishi/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Unix: Поиск и замена во многих файлах одновременно</title>
		<link>http://www.shatlovsky.ru/2009/02/09/poisk-i-zamena-vo-mnogix-fajlax-odnovremenno/</link>
		<comments>http://www.shatlovsky.ru/2009/02/09/poisk-i-zamena-vo-mnogix-fajlax-odnovremenno/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 14:15:10 +0000</pubDate>
		<dc:creator>Alex Shatlovsky</dc:creator>
				<category><![CDATA[awk]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[find]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[replace]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[sed]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://www.shatlovsky.ru/?p=75</guid>
		<description><![CDATA[Задача: найти все файлы содержащие OLDTEXT, и заменить OLDTEXT на NEWTEXT. Решение: grep -HR OLDTEXT ./ &#124; awk '{print $1}' &#124; sed 's/:.*$//' &#124; grep -v '~' &#124; sort &#124; uniq &#124; xargs vim -p В открывшемся окне vim командуем: :tabdo %s/OLDTEXT/NEWTEXT/g (заменить OLDTEXT на NEWTEXT во всех вкладках) :xa (записать изменения во всех вкладках) [...]]]></description>
			<content:encoded><![CDATA[<p>Задача: найти все файлы содержащие <em>OLDTEXT</em>, и заменить <em>OLDTEXT</em> на <em>NEWTEXT</em>.</p>
<p>Решение:</p>
<pre class="bash"><span style="color: #c20cb9; font-weight: bold;">grep</span> -HR OLDTEXT ./ | <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{print $1}'</span> | <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #ff0000;">'s/:.*$//'</span> | <span style="color: #c20cb9; font-weight: bold;">grep</span> -v <span style="color: #ff0000;">'~'</span> | <span style="color: #c20cb9; font-weight: bold;">sort</span> | <span style="color: #c20cb9; font-weight: bold;">uniq</span> | <span style="color: #c20cb9; font-weight: bold;">xargs</span> vim -p</pre>
<p>В открывшемся окне <code>vim</code> командуем:</p>
<pre class="bash">:tabdo %s/OLDTEXT/NEWTEXT/g</pre>
<p> (заменить OLDTEXT на NEWTEXT во всех вкладках)</p>
<pre class="bash">:xa</pre>
<p> (записать изменения во всех вкладках)<br />
либо</p>
<pre class="bash">:qa!</pre>
<p> (отменить изменения во всех вкладках)</p>
<p>Ссылки по теме:</p>
<ol>
<li><a href="http://vimdoc.sourceforge.net/cgi-bin/vimfaq2html3.pl">VIM FAQ</a></li>
<li><a href="http://vim.wikia.com/wiki/Save_all_open_buffers_at_once">Save all open buffers at once</a></li>
<li><a href="http://linsovet.com/vim-sudo">Сохранение файла без прав на запись в vim используя sudo</a></li>
<li><a href="http://mailman.lug.org.uk/pipermail/scarborough/2004-December/001792.html">[SLUG] Vim. Search and replace in multiple files</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.shatlovsky.ru/2009/02/09/poisk-i-zamena-vo-mnogix-fajlax-odnovremenno/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>цветное приглашение bash prompt</title>
		<link>http://www.shatlovsky.ru/2008/10/15/cvetnoe-priglashenie-bash-prompt/</link>
		<comments>http://www.shatlovsky.ru/2008/10/15/cvetnoe-priglashenie-bash-prompt/#comments</comments>
		<pubDate>Wed, 15 Oct 2008 08:04:14 +0000</pubDate>
		<dc:creator>Alex Shatlovsky</dc:creator>
				<category><![CDATA[bash]]></category>
		<category><![CDATA[color]]></category>
		<category><![CDATA[config]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://shatlovsky.ru/blog/2008/10/15/cvetnoe-priglashenie-bash-prompt/</guid>
		<description><![CDATA[В unix-консоли, а в частности в приглашении bash можно использовать ANSI-последовательности для задания цветового вывода: &#160; PS1='[\\e[01;32m]\\u@\\h[\e[00m]:[\\e[01;34m]\\w[\\e[00m]$ '; export PS1 Цвет задается последовательностью вида \e[ATTR;FG;BGm, где ATTR - необязательный аттрибут, FG - цвет переднего плана, BG - цвет фона. Сброс цвета к значению по умолчанию - \e[0m Краткую таблицу соответствия кодов конкретным цветам опубликовал в [...]]]></description>
			<content:encoded><![CDATA[<p>В unix-консоли, а в частности в приглашении <code>bash</code> можно использовать ANSI-последовательности для задания цветового вывода:</p>
<pre class="bash">&nbsp;
<span style="color: #007800;">PS1=</span><span style="color: #ff0000;">'[<span style="color: #000099; font-weight: bold;">\\</span>e[01;32m]<span style="color: #000099; font-weight: bold;">\\</span>u@<span style="color: #000099; font-weight: bold;">\\</span>h[<span style="color: #000099; font-weight: bold;">\e</span>[00m]:[<span style="color: #000099; font-weight: bold;">\\</span>e[01;34m]<span style="color: #000099; font-weight: bold;">\\</span>w[<span style="color: #000099; font-weight: bold;">\\</span>e[00m]$ '</span>; <span style="color: #7a0874; font-weight: bold;">export</span> PS1</pre>
<p>Цвет задается последовательностью вида <code>\e[<strong>ATTR</strong>;<strong>FG</strong>;<strong>BG</strong>m</code>, где ATTR - необязательный аттрибут, FG - цвет переднего плана, BG - цвет фона.</p>
<p>Сброс цвета к значению по умолчанию - <code>\e[0m</code></p>
<p>Краткую таблицу соответствия кодов конкретным цветам опубликовал в статье <a href="http://www.funtoo.org/en/articles/linux/tips/prompt/">"Prompt Magic"</a> Дэниел Роббинс:</p>
<p><img src="http://shatlovsky.ru/blog/wp-content/colortable.gif" alt="colortable.gif" /></p>
<p>С помощью <code>ATTR</code> можно делать текст полужирным, подчеркнутым, мигающим, и т.п.:</p>
<table border="1" cellpadding="3" cellspacing="3">
<tr>
<td>0</td>
<td>по-умолчанию</td>
</tr>
<tr>
<td>1</td>
<td>жирный</td>
</tr>
<tr>
<td>22</td>
<td>не жирный</td>
</tr>
<tr>
<td>4</td>
<td>подчеркнутый</td>
</tr>
<tr>
<td>24</td>
<td>не подчеркнутый</td>
</tr>
<tr>
<td>5</td>
<td>мигающий</td>
</tr>
<tr>
<td>25</td>
<td>не мигающий</td>
</tr>
<tr>
<td>7</td>
<td>инвертированный</td>
</tr>
<tr>
<td>27</td>
<td>не инвертированный</td>
</tr>
</table>
<p>В качестве примера полезно посмотреть <a href="http://www.linuxfocus.org/common/src2/article335/showansicol.tar.gz">небольшой скрипт</a>, выводящий на консоль таблицу возможных цветовых комбинаций:</p>
<pre class="bash"><span style="color: #808080; font-style: italic;">#!/bin/sh</span>
<span style="color: #808080; font-style: italic;">############################################################</span>
<span style="color: #808080; font-style: italic;"># Nico Golde &amp;lt;nico<span style="color: #7a0874; font-weight: bold;">&#40;</span>at<span style="color: #7a0874; font-weight: bold;">&#41;</span>ngolde.de&amp;gt; Homepage: http://www.ngolde.de</span>
<span style="color: #808080; font-style: italic;"># Last change: Mon Feb <span style="color: #000000;">16</span> <span style="color: #000000;">16</span>:<span style="color: #000000;">24</span>:<span style="color: #000000;">41</span> CET <span style="color: #000000;">2004</span></span>
<span style="color: #808080; font-style: italic;">############################################################</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">for</span> attr <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000;">0</span> <span style="color: #000000;">1</span> <span style="color: #000000;">4</span> <span style="color: #000000;">5</span> <span style="color: #000000;">7</span> ; <span style="color: #000000; font-weight: bold;">do</span>
    <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;----------------------------------------------------------------&quot;</span>
    <span style="color: #7a0874; font-weight: bold;">printf</span> <span style="color: #ff0000;">&quot;ESC[%s;Foreground;Background - <span style="color: #000099; font-weight: bold;">\\</span>n&quot;</span> <span style="color: #007800;">$attr</span>
    <span style="color: #000000; font-weight: bold;">for</span> fore <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000;">30</span> <span style="color: #000000;">31</span> <span style="color: #000000;">32</span> <span style="color: #000000;">33</span> <span style="color: #000000;">34</span> <span style="color: #000000;">35</span> <span style="color: #000000;">36</span> <span style="color: #000000;">37</span>; <span style="color: #000000; font-weight: bold;">do</span>
        <span style="color: #000000; font-weight: bold;">for</span> back <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000;">40</span> <span style="color: #000000;">41</span> <span style="color: #000000;">42</span> <span style="color: #000000;">43</span> <span style="color: #000000;">44</span> <span style="color: #000000;">45</span> <span style="color: #000000;">46</span> <span style="color: #000000;">47</span>; <span style="color: #000000; font-weight: bold;">do</span>
            <span style="color: #7a0874; font-weight: bold;">printf</span> <span style="color: #ff0000;">'<span style="color: #000099; font-weight: bold;">\\</span>033[%s;%s;%sm %02s;%02s  '</span> <span style="color: #007800;">$attr</span> <span style="color: #007800;">$fore</span> <span style="color: #007800;">$back</span> <span style="color: #007800;">$fore</span> <span style="color: #007800;">$back</span>
        <span style="color: #000000; font-weight: bold;">done</span>
    <span style="color: #7a0874; font-weight: bold;">printf</span> <span style="color: #ff0000;">'<span style="color: #000099; font-weight: bold;">\\</span>n'</span>
    <span style="color: #000000; font-weight: bold;">done</span>
    <span style="color: #7a0874; font-weight: bold;">printf</span> <span style="color: #ff0000;">'<span style="color: #000099; font-weight: bold;">\\</span>033[0m'</span>
<span style="color: #000000; font-weight: bold;">done</span>
&nbsp;</pre>
<p>Ссылки по теме:</p>
<ul>
<li><a href="http://www.funtoo.org/en/articles/linux/tips/prompt/">Linux Tips: Prompt Magic</a>, by Daniel Robbins</li>
<li><a href="http://www.linuxfocus.org/English/May2004/article335.shtml">Colorful Shells -- Using ANSI Color Codes</a>, by Nico Golde</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.shatlovsky.ru/2008/10/15/cvetnoe-priglashenie-bash-prompt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
