<?xml version='1.0' encoding='utf-8' ?>
<!--  If you are running a bot please visit this policy page outlining rules you must respect. http://www.livejournal.com/bots/  -->
<rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:media='http://search.yahoo.com/mrss/'>
<channel>
  <title>скрипты на все случаи жизни</title>
  <link>http://community.livejournal.com/ru_shell/</link>
  <description>скрипты на все случаи жизни - LiveJournal.com</description>
  <lastBuildDate>Mon, 23 Mar 2009 11:36:02 GMT</lastBuildDate>
  <generator>LiveJournal / LiveJournal.com</generator>
  <lj:journal>ru_shell</lj:journal>
  <lj:journalid>10241339</lj:journalid>
  <lj:journaltype>community</lj:journaltype>
  <image>
    <url>http://l-userpic.livejournal.com/46061245/10241339</url>
    <title>скрипты на все случаи жизни</title>
    <link>http://community.livejournal.com/ru_shell/</link>
    <width>99</width>
    <height>99</height>
  </image>

<item>
  <guid isPermaLink='true'>http://community.livejournal.com/ru_shell/12909.html</guid>
  <pubDate>Mon, 23 Mar 2009 11:36:02 GMT</pubDate>
  <title>Сверяем хостнеймы с днс-записями</title>
  <link>http://community.livejournal.com/ru_shell/12909.html</link>
  <description>В моей сети все получают ip по dhcp, а виндовые хостнеймы должны соответствовать записям в dns (в моем случае это фамилия юзера транслитом). К несчастью, иногда не все хосты соответствую этому стандарту. Для нахождения таких хостов я использую вот этот скрипт, запуская кроном раз в пять минут.&lt;br /&gt;&lt;br /&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;#!/bin/bash&lt;br /&gt;letter=&amp;quot;/tmp/ns-mismatch.txt&amp;quot;;&lt;br /&gt;admin=&amp;quot;admin@domain.tld&amp;quot;;&lt;br /&gt;copy=&amp;quot;-c anykey@domain.tld&amp;quot;;&lt;br /&gt;exclude=&amp;quot;grep -v 192.168.4.10&amp;quot;&lt;br /&gt;&lt;br /&gt;sendto=&amp;quot;${admin} ${copy}&amp;quot;;&lt;br /&gt;&lt;br /&gt;touch ${letter};&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;for ip in `tail -n 30 /var/log/dhcpd.log | grep -i dhcpack| ${exclude}| awk {&apos;print $8&apos;}`; do&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dns=`nslookup ${ip}| awk {&apos;print $4&apos;}| sed /^$/d| awk -F. {&apos;print $1&apos;}`;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hostname=`nmblookup -A ${ip}| grep 00|awk {&apos;print $1&apos;}| head -n 1| tr [:upper:] [:lower:]`;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ &amp;quot;${dns}&amp;quot; != &amp;quot;${hostname}&amp;quot; ]; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; emailtext=&amp;quot;Hostname ${hostname} does not match dns-record ${dns}.domain.tld for ${ip}&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo ${emailtext} &amp;gt;&amp;gt; ${letter};&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;if [ &amp;quot;`cat ${letter}`&amp;quot; != &amp;quot;&amp;quot; ]; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mail -s &amp;quot;Hostname mismatch&amp;quot; ${sendto} &amp;lt; ${letter};&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;rm -f ${letter};&lt;br /&gt;</description>
  <comments>http://community.livejournal.com/ru_shell/12909.html</comments>
  <category>bash dns</category>
  <lj:security>public</lj:security>
  <lj:poster>grohman</lj:poster>
  <lj:posterid>5788850</lj:posterid>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/ru_shell/12685.html</guid>
  <pubDate>Wed, 25 Feb 2009 11:08:23 GMT</pubDate>
  <title>At</title>
  <link>http://community.livejournal.com/ru_shell/12685.html</link>
  <description>Кто-нибудь знает, очереди в аргументе команды at являются независимыми?&lt;br /&gt;&lt;br /&gt;То есть реально ли добавить в очередь K пять команд, чтобы они выполнялись последовательно, и в очередь N так же 5 команд, чтобы две очереди работали независимо друг от друга?</description>
  <comments>http://community.livejournal.com/ru_shell/12685.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>solovieff13</lj:poster>
  <lj:posterid>7130871</lj:posterid>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/ru_shell/12235.html</guid>
  <pubDate>Sat, 08 Nov 2008 12:54:42 GMT</pubDate>
  <title>передергиваем клиент DHCP, если нет пинга</title>
  <link>http://community.livejournal.com/ru_shell/12235.html</link>
  <description>Привет.&lt;br /&gt;Есть такой полезняк:&lt;br /&gt;&lt;br /&gt;/sbin/ping -q -c4 -i0.01 -W1 | /usr/bin/grep &quot;100.0%&quot;|| echo &quot;inet down &quot;`date +%Y-%m-%d-%H-%M-%S` &amp;gt;&amp;gt;/var/log/inetdown.log&lt;br /&gt;&lt;br /&gt;(пингует днс провайдера и если нет коннекта, то выводит ругню в лог)&lt;br /&gt;&lt;br /&gt;Нужно развить мысль, а именно - чтобы кроме писАния в лог еще выполнялось&lt;br /&gt;&lt;br /&gt;# killall dhcpcd&lt;br /&gt;и&lt;br /&gt;# dhcpcd eth1&lt;br /&gt;но! только если нет пинга.&lt;br /&gt;&lt;br /&gt;Подскажите, а то я новичок и пока что совсем не чувствую вопроса.&lt;br /&gt;Спасибо.</description>
  <comments>http://community.livejournal.com/ru_shell/12235.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>marchello</lj:poster>
  <lj:posterid>11579453</lj:posterid>
  <lj:reply-count>4</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/ru_shell/11954.html</guid>
  <pubDate>Mon, 01 Sep 2008 14:24:44 GMT</pubDate>
  <title>Passing arguments by pipe</title>
  <link>http://community.livejournal.com/ru_shell/11954.html</link>
  <description>Извините, пожалуйста. &lt;br /&gt;&lt;br /&gt;Похоже я рискую прославится тем что задаю тут какие-то странно-глупые вопросы.&lt;br /&gt;Но... в общем у меня опять странно глупый вопрос, на который я не найду ответа.&lt;br /&gt;&lt;br /&gt;Пишем меленький скрипт, который просто печатает количество переданных ему аргументов&lt;br /&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;b&gt;temp.ksh:&lt;br /&gt;&lt;br /&gt;#!/bin/ksh&lt;br /&gt;&lt;br /&gt;echo &quot;$#&quot;&lt;br /&gt;&lt;br /&gt;exit&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Смотрим&lt;br /&gt;&lt;i&gt;]$ ./temp.ksh&lt;br /&gt;0&lt;br /&gt;]$ ./temp.ksh 3&lt;br /&gt;1&lt;br /&gt;]$ ./temp.ksh 3 | ./temp.ksh&lt;br /&gt;0&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;Хм...&lt;br /&gt;И даже если вот так:&lt;br /&gt;&lt;i&gt;&lt;br /&gt;]$ echo 3&lt;br /&gt;3&lt;br /&gt;]$ echo 3 | ./temp.ksh&lt;br /&gt;0&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;Хм....&lt;br /&gt;После некоторых размышлений появилась мысль, что может быть даже это и логично (типа каждый скрипт запускает свой новый шелл и т.п.).&lt;br /&gt;Но все равно остались вопросы:&lt;br /&gt;А логично ли все-таки?&lt;br /&gt;Все-таки как же это сделать-то тогда?&lt;br /&gt;&lt;br /&gt;//В последним вопросе под &quot;это&quot; имелось в виду, конечно не вариант в примере, а нечто более общее. Есть некий скрипт, который производит некий оутпут, и хотелось этот оутпут через пайп переправить второму скрипту.&lt;br /&gt;Оно конечно можно было бы это все сделать и по-другому, ну, к примеру, через какой-нибудь темпорари файл... но а вот через пайп, что? Никак нельзя?&lt;br /&gt;&lt;br /&gt;Заранее спасибо, и извините если вопрос, как всегда, слишком ламерский.&lt;br /&gt;</description>
  <comments>http://community.livejournal.com/ru_shell/11954.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>paul_z</lj:poster>
  <lj:posterid>5263013</lj:posterid>
  <lj:reply-count>4</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/ru_shell/11536.html</guid>
  <pubDate>Tue, 26 Aug 2008 22:12:41 GMT</pubDate>
  <title>MyICQbot</title>
  <link>http://community.livejournal.com/ru_shell/11536.html</link>
  <description>У всех ли есть внешний ip-адрес? Все ли могут, сидя на работе/в университете/где угодно скачивать на свой домашний ПК какие-либо файлы? Предположим, вам известен url фильма который вы хотели бы вечером посмотреть у себя дома.  Но кому бы захотелось придя домой его скачивать, а не сразу смотреть? :)&lt;br /&gt;Подобных примеров можно придумать очень много.  Особенно, если нету внешнего ip-адреса (привет пользователям стрима;-) ).&lt;br /&gt;Дабы решить эту вселенскую несправедливость, было решено написать &lt;b&gt;icq-бот&lt;/b&gt;а, который мог бы скачивать файлы на тот хост, на котором запущен. В качестве языка написания был выбран perl, потому как 1) для него уже существует Net::OSCAR. &lt;br /&gt;2) За основу нашего бота был взят бот &lt;span class=&quot;normalname&quot;&gt;&lt;/span&gt;&lt;a href=&quot;http://security-teams.net/&quot;&gt;drmist&lt;/a&gt;&apos;а написанный на perl %)&lt;br /&gt;&lt;br /&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;div class=&quot;ljcut&quot; text=&quot;Read more...&quot;&gt;&lt;a name=&quot;cutid2&quot;&gt;&lt;/a&gt;&lt;div class=&quot;ljcut&quot; text=&quot;Read more...&quot;&gt;&lt;a name=&quot;cutid3&quot;&gt;&lt;/a&gt;&lt;div class=&quot;ljcut&quot; text=&quot;Read more...&quot;&gt;Прежде всего нужен работающий Net::OSCAR, которого у вас скорее всего нет. Ставится просто, через cpan.&lt;br /&gt;# cpan&lt;br /&gt;cpan &amp;gt; install Net::OSCAR&lt;br /&gt;&lt;br /&gt;Бот понимает команды &lt;br /&gt;!get url&lt;br /&gt;!status filename&lt;br /&gt;&lt;br /&gt;url может быть http или ftp. Или ещё что угодно, с чем умеет работать wget.&amp;nbsp; &lt;br /&gt;Ну и ещё, конечно, нужно зарегистрировать уин для бота на icq.com %)&lt;br /&gt;Очень интересные вещи описаны в man Net::OSCAR&lt;br /&gt;&lt;br /&gt;#!/usr/bin/perl&lt;br /&gt;$mypath = &quot;~/MyICQDownloads&quot;;&lt;br /&gt;&lt;br /&gt;use IO::Socket::INET;&lt;br /&gt;use Net::OSCAR;&lt;br /&gt;use Net::DNS;&lt;br /&gt;use Text::Iconv;&lt;br /&gt;&lt;br /&gt;%functions = (&quot;get&quot; =&amp;gt; \&amp;amp;icq_bot_get,&lt;br /&gt;             &quot;status&quot; =&amp;gt; \&amp;amp;icq_bot_status);&lt;br /&gt;&lt;br /&gt;$conv = Text::Iconv-&amp;gt;new(&apos;utf-8&apos;,&apos;windows-1251&apos;);&lt;br /&gt;$resolver = Net::DNS::Resolver-&amp;gt;new();&lt;br /&gt;$oscar = Net::OSCAR-&amp;gt;new();&lt;br /&gt;$oscar-&amp;gt;set_callback_im_in(\&amp;amp;message_callback);&lt;br /&gt;$oscar-&amp;gt;signon(999999999, &quot;MyPass1&quot;) or die(&quot;Login failed\n&quot;);&lt;br /&gt;$quit = 0;&lt;br /&gt;while(!$quit) { $oscar-&amp;gt;do_one_loop(); }&lt;br /&gt;sub message_callback {&lt;br /&gt; local($cmd, $params, $result);&lt;br /&gt; local $result = &quot;&quot;;&lt;br /&gt; local($client, $uin, $msg) = @_;&lt;br /&gt; if(($cmd, $params) = $msg =~ /^\!([^\ ]+) (.+)$/)&lt;br /&gt; {&lt;br /&gt;   $result = exists($functions{$cmd}) ? $functions{$cmd}($params) : &quot;&quot;;&lt;br /&gt;   $client-&amp;gt;send_im($uin, $result) if $result;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;sub icq_bot_get {&lt;br /&gt;$url = $_[0];&lt;br /&gt;local $get = &quot;/usr/bin/wget -b -P $mypath $url&quot;;&lt;br /&gt;@url=split /(.*\/)/, $url;&lt;br /&gt;local $prog = system &quot;$get -o $mypath/@url[2].log 1&amp;gt;&amp;amp;2 &amp;gt; /dev/null&quot;;&lt;br /&gt;return &quot;$url &amp;gt;&amp;gt;&amp;gt; downloading to $mypath\n Use \&quot;!status @url[2]\&quot; without quotes for last logs&quot;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;sub icq_bot_status {&lt;br /&gt;local $file = $_[0];&lt;br /&gt;$log = `tail -n 2 $mypath/$file.log`;&lt;br /&gt;return $log;&lt;br /&gt;}&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Очевидно, что возможностей модернизации здесь крайне много. &lt;br /&gt;Но всех мыслей в голове не удержишь (ну да, я тоже подумал об icq2ssh, наверное было бы забавно), хочется узнать ваше мнение и предложения по улучшению бота. Предложения с примерами кода категорически приветствуются.</description>
  <comments>http://community.livejournal.com/ru_shell/11536.html</comments>
  <category>perl wget icq</category>
  <lj:security>public</lj:security>
  <lj:poster>grohman</lj:poster>
  <lj:posterid>5788850</lj:posterid>
  <lj:reply-count>4</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/ru_shell/11288.html</guid>
  <pubDate>Tue, 26 Aug 2008 20:52:22 GMT</pubDate>
  <title>splitfd - автоматическая раскидка большого количества фаилов по каталогам</title>
  <link>http://community.livejournal.com/ru_shell/11288.html</link>
  <description>у вас было когда ни будь желание разделить несколько тысяч разно-именованых фаилов, в директории. скажем по 100 или 200 фаилов в каждой?&lt;br /&gt;&lt;br /&gt;Так вот:&lt;br /&gt;&lt;br /&gt;$ splitfd -s /home/user/10000_files -t /home/user/temp -p new_ -n 200&lt;br /&gt;&lt;br /&gt;сделает примерно 50 директорий (new_01, new_02, ...) в /home/user/temp,&amp;nbsp; в которых будут лежать те 10000 фаилов из каталога /home/user/10000_files&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.freewebs.com/rozouvan/scripts/splitfd&quot;&gt;splitfd&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;PS: как обычно, я не проверил если уже есть утилита которая именно это может делать ;)</description>
  <comments>http://community.livejournal.com/ru_shell/11288.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>v_rozouvan</lj:poster>
  <lj:posterid>8264000</lj:posterid>
  <lj:reply-count>3</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/ru_shell/11116.html</guid>
  <pubDate>Wed, 20 Aug 2008 19:35:51 GMT</pubDate>
  <title>apt_search</title>
  <link>http://community.livejournal.com/ru_shell/11116.html</link>
  <description>&lt;span class=&quot;webfx-spellchecker-word&quot; style=&quot;background: transparent none repeat scroll 0% 50%; line-height: 1.5em; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;Мой&lt;/span&gt; &lt;span class=&quot;webfx-spellchecker-word&quot; style=&quot;background: transparent none repeat scroll 0% 50%; line-height: 1.5em; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;скрипт&lt;/span&gt; &lt;span class=&quot;webfx-spellchecker-word&quot; style=&quot;background: transparent none repeat scroll 0% 50%; line-height: 1.5em; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;для&lt;/span&gt; &lt;span class=&quot;webfx-spellchecker-word&quot; style=&quot;background: transparent none repeat scroll 0% 50%; line-height: 1.5em; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;поиска&lt;/span&gt; &lt;span class=&quot;webfx-spellchecker-word&quot; style=&quot;background: transparent url(http://free.translated.net/gif/redline.png) repeat-x scroll center bottom; line-height: 1.5em; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;Debian&lt;/span&gt; &lt;span class=&quot;webfx-spellchecker-word&quot; style=&quot;background: transparent none repeat scroll 0% 50%; line-height: 1.5em; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;пакетов&lt;/span&gt;. &lt;span class=&quot;webfx-spellchecker-word&quot; style=&quot;background: transparent none repeat scroll 0% 50%; line-height: 1.5em; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;Быстрый&lt;/span&gt;, &lt;span class=&quot;webfx-spellchecker-word&quot; style=&quot;background: transparent none repeat scroll 0% 50%; line-height: 1.5em; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;верный&lt;/span&gt;, &lt;span class=&quot;webfx-spellchecker-word&quot; style=&quot;background: transparent none repeat scroll 0% 50%; line-height: 1.5em; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;и&lt;/span&gt; &lt;span class=&quot;webfx-spellchecker-word&quot; style=&quot;background: transparent none repeat scroll 0% 50%; line-height: 1.5em; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;удобный&lt;/span&gt; ;)&lt;br /&gt;&lt;span class=&quot;webfx-spellchecker-word&quot; style=&quot;background: transparent none repeat scroll 0% 50%; line-height: 1.5em; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;Что&lt;/span&gt; &lt;span class=&quot;webfx-spellchecker-word&quot; style=&quot;background: transparent none repeat scroll 0% 50%; line-height: 1.5em; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;бы&lt;/span&gt; &lt;span class=&quot;webfx-spellchecker-word&quot; style=&quot;background: transparent none repeat scroll 0% 50%; line-height: 1.5em; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;заработал&lt;/span&gt;, &lt;span class=&quot;webfx-spellchecker-word&quot; style=&quot;background: transparent none repeat scroll 0% 50%; line-height: 1.5em; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;сначало&lt;/span&gt; &lt;span class=&quot;webfx-spellchecker-word&quot; style=&quot;background: transparent none repeat scroll 0% 50%; line-height: 1.5em; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;запустите&lt;/span&gt; &lt;span class=&quot;webfx-spellchecker-word&quot; style=&quot;background: transparent url(http://free.translated.net/gif/redline.png) repeat-x scroll center bottom; line-height: 1.5em; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;apt&lt;/span&gt;_&lt;span class=&quot;webfx-spellchecker-word&quot; style=&quot;background: transparent url(http://free.translated.net/gif/redline.png) repeat-x scroll center bottom; line-height: 1.5em; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;search&lt;/span&gt;_&lt;span class=&quot;webfx-spellchecker-word&quot; style=&quot;background: transparent url(http://free.translated.net/gif/redline.png) repeat-x scroll center bottom; line-height: 1.5em; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;update&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;http://www.freewebs.com/rozouvan/scripts/apt%5Fsearch&lt;br /&gt;http://www.freewebs.com/rozouvan/scripts/apt%5Fsearch%5Fupdate&lt;br /&gt;&lt;br /&gt;Отсюда:&lt;br /&gt;http://v-rozouvan.livejournal.com/2008/08/19/</description>
  <comments>http://community.livejournal.com/ru_shell/11116.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>v_rozouvan</lj:poster>
  <lj:posterid>8264000</lj:posterid>
  <lj:reply-count>6</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/ru_shell/10791.html</guid>
  <pubDate>Wed, 30 Jul 2008 22:11:59 GMT</pubDate>
  <title>Подскажите кто знает</title>
  <link>http://community.livejournal.com/ru_shell/10791.html</link>
  <description>Может быть задаю странный вопрос но всё же, можно ли в Xcode 3.1 писать bash скрипты и прикручивать к ним gui и потом собирать это дело как standalone приложение?</description>
  <comments>http://community.livejournal.com/ru_shell/10791.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>djakov</lj:poster>
  <lj:posterid>13847313</lj:posterid>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/ru_shell/10583.html</guid>
  <pubDate>Fri, 25 Jul 2008 05:35:35 GMT</pubDate>
  <link>http://community.livejournal.com/ru_shell/10583.html</link>
  <description>Написал простенький скрипт для завершения программы через определенное количество минут. &lt;br /&gt;Написан на perl&apos;e&lt;br /&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;br /&gt;Пример использования: killprg.sh +10 xmms &lt;br /&gt;т.е. через десять минут этот скрипт завершит xmms. Кстати регистронезависимый скрипт.&lt;br /&gt;Пы. сы. в программировании не очень силен, так что сильно не пинайте :-)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#!/usr/bin/perl&lt;br /&gt;# powered by mentax&lt;br /&gt;$|=1;&lt;br /&gt;&lt;br /&gt;sub usage{&lt;br /&gt;    print &quot;\nUsage: killprg [program]\n&quot;;&lt;br /&gt;    print &quot;       killprg +[minutes to kill] [program]\n\n&quot;;&lt;br /&gt;    exit;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;$time=@ARGV[0];&lt;br /&gt;if($time=~s/\+//){&lt;br /&gt;    $time+=0;&lt;br /&gt;    $prg=@ARGV[1];&lt;br /&gt;}else{&lt;br /&gt;    $prg=@ARGV[0];&lt;br /&gt;    $time=0;&lt;br /&gt;}&lt;br /&gt;$seconds=$time*60;&lt;br /&gt;&lt;br /&gt;usage if($prg eq &quot;&quot;);&lt;br /&gt;print&quot;Start at: &quot;.localtime(time).&quot;\n&quot;;&lt;br /&gt;print&quot;kill after $time minuts. Search: \&quot;$prg\&quot;\n&quot;;&lt;br /&gt;$started=time;&lt;br /&gt;&lt;br /&gt;for(;;){&lt;br /&gt;    if($started+$seconds&lt;div class=&apos;ljparseerror&apos;&gt;[&lt;b&gt;Error:&lt;/b&gt; Irreparable invalid markup (&apos;&amp;lt;time){&amp;gt;&apos;) in entry.  Owner must fix manually.  Raw contents below.]&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;width: 95%; overflow: auto&quot;&gt;Написал простенький скрипт для завершения программы через определенное количество минут. &lt;br /&gt;Написан на perl&amp;#39;e&lt;br /&gt;&amp;lt;lj-cut text=&amp;quot;Читать дальше&amp;quot;&amp;gt;&lt;br /&gt;Пример использования: killprg.sh +10 xmms &lt;br /&gt;т.е. через десять минут этот скрипт завершит xmms. Кстати регистронезависимый скрипт.&lt;br /&gt;Пы. сы. в программировании не очень силен, так что сильно не пинайте :-)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#!/usr/bin/perl&lt;br /&gt;# powered by mentax&lt;br /&gt;$|=1;&lt;br /&gt;&lt;br /&gt;sub usage{&lt;br /&gt;    print &amp;quot;\nUsage: killprg [program]\n&amp;quot;;&lt;br /&gt;    print &amp;quot;       killprg +[minutes to kill] [program]\n\n&amp;quot;;&lt;br /&gt;    exit;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;$time=@ARGV[0];&lt;br /&gt;if($time=~s/\+//){&lt;br /&gt;    $time+=0;&lt;br /&gt;    $prg=@ARGV[1];&lt;br /&gt;}else{&lt;br /&gt;    $prg=@ARGV[0];&lt;br /&gt;    $time=0;&lt;br /&gt;}&lt;br /&gt;$seconds=$time*60;&lt;br /&gt;&lt;br /&gt;usage if($prg eq &amp;quot;&amp;quot;);&lt;br /&gt;print&amp;quot;Start at: &amp;quot;.localtime(time).&amp;quot;\n&amp;quot;;&lt;br /&gt;print&amp;quot;kill after $time minuts. Search: \&amp;quot;$prg\&amp;quot;\n&amp;quot;;&lt;br /&gt;$started=time;&lt;br /&gt;&lt;br /&gt;for(;;){&lt;br /&gt;    if($started+$seconds&amp;lt;time){&lt;br /&gt;        @lines=split(/\n/,`ps aux`);&lt;br /&gt;        shift @lines;&lt;br /&gt;        for$line(@lines){&lt;br /&gt;            @columns=split(/[\t\s]+/,$line);&lt;br /&gt;            unless($line=~/killprg/){&lt;br /&gt;                if($line=~/$prg/i){&lt;br /&gt;                    $cmd=join(&amp;quot; &amp;quot;,@columns[10..50]);&lt;br /&gt;                    print &amp;quot;Found and kill process: @columns[1] -&amp;gt; $cmd\n&amp;quot;;&lt;br /&gt;                    `kill @columns[1]`;&lt;br /&gt;                    exit;&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        print &amp;quot;+&amp;quot;;&lt;br /&gt;    }else{&lt;br /&gt;        print &amp;quot;.&amp;quot;;&lt;br /&gt;    }&lt;br /&gt;    sleep 1;&lt;br /&gt;}&lt;br /&gt;&amp;lt;/lj-cut&amp;gt;&lt;/div&gt;&lt;/div&gt;</description>
  <comments>http://community.livejournal.com/ru_shell/10583.html</comments>
  <category>perl</category>
  <lj:music>Кукрыниксы - Никто</lj:music>
  <media:title type="plain">Кукрыниксы - Никто</media:title>
  <lj:mood>Рабочее</lj:mood>
  <lj:security>public</lj:security>
  <lj:poster>mentax</lj:poster>
  <lj:posterid>12863566</lj:posterid>
  <lj:reply-count>7</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/ru_shell/10284.html</guid>
  <pubDate>Tue, 22 Jul 2008 12:59:01 GMT</pubDate>
  <title>SSH</title>
  <link>http://community.livejournal.com/ru_shell/10284.html</link>
  <description>Друзья подскажите как можно по ssh соединиться с удалённым сервером, так чтобы в одной команде был и логин и пароль. Если просто логин то надо так ssh username@ip.add.re.ss? А как пароль добавить. Спасибо.</description>
  <comments>http://community.livejournal.com/ru_shell/10284.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>djakov</lj:poster>
  <lj:posterid>13847313</lj:posterid>
  <lj:reply-count>11</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/ru_shell/10049.html</guid>
  <pubDate>Thu, 17 Jul 2008 14:26:09 GMT</pubDate>
  <title>Проблема с cut в ksh</title>
  <link>http://community.livejournal.com/ru_shell/10049.html</link>
  <description>Извините, пожалуйста, может и глупость спрашиваю, но что-то я в такой растерянности прибываю.&lt;br /&gt;&lt;br /&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;br /&gt;Система Fedora:&lt;br /&gt;$more /etc/redhat-release&lt;br /&gt;Fedora release 7 (Moonshine)&lt;br /&gt;&lt;br /&gt;Есть два скриптика, test_ksh.ksh и test_csh.csh.&lt;br /&gt;Разница только в первой линии (естественно), соответственно: #!/bin/ksh и #!/bin/csh &lt;br /&gt;&lt;br /&gt;Дальше все одинаково:&lt;br /&gt;&lt;b&gt;&lt;br /&gt;head -1 res_121_1_bl.txt | cut -d&quot;;&quot; -f10-14&lt;br /&gt;head -1 res_121_1_bl.txt | cut -d&quot;;&quot; -f10,14&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;res_121_1_bl.txt - просто некий текстовый файлик, в котором через точку с запятой в колонках находятся всякие цифирки. Хочу посмотреть названия колонок. В первой линии названия колонок с 10 по 14. Во второй только 10 и 14.&lt;br /&gt;&lt;br /&gt;Вот результаты:&lt;i&gt;&lt;br /&gt;$./test_csh.csh&lt;br /&gt;ns_lixiv;ns_no3_sol_fin;ns_nh4_sol_fin;ns_volat_engr;ns_denit&lt;br /&gt;ns_lixiv;&lt;font color=&quot;Red&quot;&gt;ns_denit&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;$./test_ksh.ksh&lt;br /&gt;ns_no3_sol_fin;ns_nh4_sol_fin;ns_volat_engr;ns_denit&lt;br /&gt;ns_lixiv;&lt;font color=&quot;Red&quot;&gt;ns_nh4_sol_fin&lt;/font&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Даже не знаю, что и делать.&lt;br /&gt;Ну.. на всякий случай еще немного информации:&lt;br /&gt;&lt;i&gt;&lt;br /&gt;$ /bin/ksh          &lt;br /&gt;$ print ${.sh.version}&lt;br /&gt;Version M 1993-12-28 s&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Ну и... запустил те же самые скрипты, на Solaris-е, которым рулят умные админы. Там все работает нормально, вторая строка для обоих шеллов выдает 10 и 14 колонки.&lt;br /&gt;Правда не нашел как посмотреть в solaris-овском ksh его версию.&lt;br /&gt;&lt;br /&gt;Подскажите в чем может быть дело? Бага ksh? Бага Fedora? Бага Fedora, которая установила кривой ksh?&lt;br /&gt;Или может быть как всегда кривые руки? Но в чем тогда кривизна?&lt;br /&gt;&lt;br /&gt;Заранее спасибо.&lt;br /&gt;&lt;br /&gt;P.S.: Да, извините, я пробовал добавить тэги к этой запсис, но ЖЖ зачем-то заргулася и отказался это делать.&lt;br /&gt;</description>
  <comments>http://community.livejournal.com/ru_shell/10049.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>paul_z</lj:poster>
  <lj:posterid>5263013</lj:posterid>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/ru_shell/9876.html</guid>
  <pubDate>Thu, 19 Jun 2008 10:24:02 GMT</pubDate>
  <title>Новичок и FTP</title>
  <link>http://community.livejournal.com/ru_shell/9876.html</link>
  <description>Простейшая проблема: не могу закачать локальный файл на ftp&lt;br /&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;div class=&quot;ljcut&quot; text=&quot;Read more...&quot;&gt;&lt;br /&gt;если закачивать руками - то все получается, делаю так:&lt;br /&gt;&lt;i&gt;ftp -in ftp://username:pass@servername&lt;br /&gt;put filename.zip&lt;br /&gt;exit&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Теперь делаю то же самое но через скрипт:&lt;br /&gt;&lt;i&gt;#!/usr/local/bin/bash&lt;br /&gt;ftp -in ftp://username:pass@servername&amp;lt;&amp;lt;_EOF_&lt;br /&gt;put filename.zip&lt;br /&gt;_EOF_&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Появляется ошибка:&lt;br /&gt;&lt;i&gt;...&lt;br /&gt;250 OK. Current Directory is /&lt;br /&gt;&amp;nbsp;remote: filename.zip&lt;br /&gt;: No such file or directory&lt;br /&gt;...&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Что я делаю не так???&lt;br /&gt;&lt;br /&gt;В интернете все советуют делать примерно так:&lt;br /&gt;&lt;pre&gt;&amp;gt;&lt;i&gt;ftp -n &amp;lt;&amp;lt; __END_OF_SCRIPT__&lt;br /&gt;&lt;/i&gt;&amp;gt;&lt;i&gt;     open my.server.at.my.office&lt;br /&gt;&lt;/i&gt;&amp;gt;&lt;i&gt;     binary&lt;br /&gt;&lt;/i&gt;&amp;gt;&lt;i&gt;     user userid password&lt;br /&gt;&lt;/i&gt;&amp;gt;&lt;i&gt;     get myfile.gif&lt;br /&gt;&lt;/i&gt;&amp;gt;&lt;i&gt;     bye&lt;br /&gt;&lt;/i&gt;&amp;gt;&lt;i&gt;__END_OF_SCRIPT__&lt;/i&gt;&lt;/pre&gt;Возникает ошибка:&lt;br /&gt;ftp: hostname nor servername provided, or not known&lt;br /&gt;&lt;br /&gt;Help me, мозги уже закипают потихоньку.&lt;br /&gt;&lt;/div&gt;</description>
  <comments>http://community.livejournal.com/ru_shell/9876.html</comments>
  <category>ftp</category>
  <lj:security>public</lj:security>
  <lj:poster>my_nick_kos_mos</lj:poster>
  <lj:posterid>11107348</lj:posterid>
  <lj:reply-count>10</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/ru_shell/9720.html</guid>
  <pubDate>Thu, 05 Jun 2008 10:44:50 GMT</pubDate>
  <title>Mac OS X 10.5.x и NAT</title>
  <link>http://community.livejournal.com/ru_shell/9720.html</link>
  <description>Вот модифицированный мной скрипт &lt;span class=&quot;story-information&quot;&gt;&lt;/span&gt;&lt;a class=&quot;storybyline&quot; href=&quot;http://www.macosxhints.com/users.php?mode=profile&amp;amp;uid=60377&quot;&gt;                 tejinashi&lt;/a&gt;, делающий в макоси нат&lt;br /&gt;&lt;br /&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;div class=&quot;ljcut&quot; text=&quot;Read more...&quot;&gt;#/bin/bash&lt;br /&gt;interface=&quot;$2&quot;&lt;br /&gt;from_ip=&quot;any&quot;&lt;br /&gt;to_ip=&quot;any&quot;&lt;br /&gt;&lt;br /&gt;if [ &quot;`whoami`&quot; != &apos;root&apos; ] ; then&lt;br /&gt;&amp;nbsp; echo &quot;Go away, you are not root&quot;&lt;br /&gt;&amp;nbsp; exit 1&lt;br /&gt;fi&lt;br /&gt;case $1 in&lt;br /&gt;start)&lt;br /&gt;if [ &quot;$interface&quot; = &quot;&quot; ] ; then&lt;br /&gt;&amp;nbsp; echo &quot;I need an interface to NAT on&quot;&lt;br /&gt;&amp;nbsp; exit 1&lt;br /&gt;fi&lt;br /&gt;echo &quot;you may need to run &apos;ipfw flush&apos;&quot;&lt;br /&gt;natd=`ps awux |grep -v grep|grep -v $0|grep natd|awk &apos;{print $2}&apos;`&lt;br /&gt;kill -9 $natd&lt;br /&gt;sleep 1&lt;br /&gt;sysctl -w net.inet.ip.forwarding=1&lt;br /&gt;alias_ip=$(ifconfig $interface | grep inet | grep -v inet6 | \&lt;br /&gt;&amp;nbsp;awk &apos;{print $2}&apos; | head -1)&lt;br /&gt;/usr/sbin/natd -alias_address $alias_ip -interface $interface -use_sockets \&lt;br /&gt;&amp;nbsp;-same_ports -unregistered_only -dynamic -clamp_mss&lt;br /&gt;#ipfw -f flush&lt;br /&gt;ipfw add divert natd ip from &quot;$from_ip&quot; to &quot;$to_ip&quot; via &quot;$interface&quot;&lt;br /&gt;;;&lt;br /&gt;stop)&lt;br /&gt;ipfw -f flush&lt;br /&gt;sysctl -w net.inet.ip.forwarding=0&lt;br /&gt;;;&lt;br /&gt;*)&lt;br /&gt;echo &quot;Usage: $0 start en0 OR $0 stop&quot;;&lt;br /&gt;;;&lt;br /&gt;esac&lt;/div&gt;</description>
  <comments>http://community.livejournal.com/ru_shell/9720.html</comments>
  <category>mac os</category>
  <category>bash</category>
  <category>nat</category>
  <lj:security>public</lj:security>
  <lj:poster>grohman</lj:poster>
  <lj:posterid>5788850</lj:posterid>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/ru_shell/9364.html</guid>
  <pubDate>Sun, 25 May 2008 01:37:58 GMT</pubDate>
  <title>автоматический dns сетевой инфраструктуры</title>
  <link>http://community.livejournal.com/ru_shell/9364.html</link>
  <description>Подскажите, существуют ли в природе какая-то автоматизация прописывания в DNS сетевых интерфейсов маршрутизаторов, например на основании данных полученых по snmp?&lt;br /&gt;Я говорю вот об этом:&lt;br /&gt;&lt;br /&gt;  5    42 ms    42 ms    42 ms  tengigabitethernet7-4.ar1.fra4.gblx.net [64.208.222.201]&lt;br /&gt;  6    42 ms    42 ms    42 ms  ge2-3-1000m.ar3.fra3.gblx.net [67.17.95.1]&lt;br /&gt;  7     *        *        *     Request timed out.&lt;br /&gt;  8    44 ms    53 ms     *     ae-31-55.ebr1.frankfurt1.level3.net [4.68.118.158]&lt;br /&gt;  9     *        *       51 ms  ae-1-100.ebr2.frankfurt1.level3.net [4.69.132.126]&lt;br /&gt; 10    55 ms    54 ms    53 ms  ae-2.ebr1.dusseldorf1.level3.net [4.69.132.137]&lt;br /&gt; 11    56 ms    53 ms    53 ms  ae-1-100.ebr2.dusseldorf1.level3.net [4.69.132.130]&lt;br /&gt; 12    46 ms    51 ms    54 ms  ae-2.ebr1.amsterdam1.level3.net [4.69.133.89]&lt;br /&gt; 13    58 ms    53 ms    53 ms  ae-1-100.ebr2.amsterdam1.level3.net [4.69.133.86]&lt;br /&gt; 14    53 ms    54 ms    54 ms  ae-2.ebr2.london1.level3.net [4.69.132.133]&lt;br /&gt; 15   127 ms   126 ms   126 ms  ae-42.ebr1.newyork1.level3.net [4.69.137.70]&lt;br /&gt; 16   134 ms   126 ms   126 ms  ae-71-71.csw2.newyork1.level3.net [4.69.134.70]&lt;br /&gt; 17   129 ms   126 ms   125 ms  ae-74-74.ebr4.newyork1.level3.net [4.69.134.117]&lt;br /&gt; 18   197 ms   197 ms   198 ms  ae-2.ebr4.sanjose1.level3.net [4.69.135.185]&lt;br /&gt; 19   194 ms   194 ms   198 ms  ae-74-74.csw2.sanjose1.level3.net [4.69.134.246]&lt;br /&gt; 20   195 ms   197 ms   197 ms  ae-72-72.ebr2.sanjose1.level3.net [4.69.134.213]&lt;br /&gt; 21   194 ms   194 ms   194 ms  ae-4-4.car2.sanfrancisco1.level3.net [4.69.133.157]&lt;br /&gt; 22   194 ms   193 ms   194 ms  ae-11-11.car1.sanfrancisco1.level3.net [4.69.133.153]&lt;br /&gt; 23   194 ms   197 ms   198 ms  six-apart-l.car1.sanfrancisco1.level3.net [4.53.128.2]&lt;br /&gt; 24   194 ms   195 ms   195 ms  v101-sf-core1.sixapart.com [204.9.176.35]&lt;br /&gt; 25   193 ms   193 ms   193 ms  livejournal.com [204.9.177.18]&lt;br /&gt;&lt;br /&gt;В любой живой сети постоянно происходят переконфигурации оборудования, поэтому хотелось бы автоматизировать процесс отображения в DNS прямых и обратных зон ip адресов сетевых интерфейсов маршрутизаторов.</description>
  <comments>http://community.livejournal.com/ru_shell/9364.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>epiq</lj:poster>
  <lj:posterid>10344367</lj:posterid>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/ru_shell/9164.html</guid>
  <pubDate>Mon, 05 May 2008 12:38:54 GMT</pubDate>
  <title>Скрипт для скачивания фото-альбомов с  picassaweb</title>
  <link>http://community.livejournal.com/ru_shell/9164.html</link>
  <description>&lt;br /&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt; # Distributed under the terms of the GNU General Public License v3 or later&lt;br /&gt; # AUTHOR: Loïc Cerf&lt;br /&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;div class=&quot;ljcut&quot; text=&quot;Read more...&quot;&gt;# e-mail: magicbanana@gmail.com&lt;br /&gt;&lt;br /&gt;WGET_OPT=&quot;-nv -T 180 -t 3 -c&quot;&lt;br /&gt;&lt;br /&gt;EX_USAGE=64&lt;br /&gt;EX_NOHOST=68&lt;br /&gt;&lt;br /&gt;if [ -z &quot;$1&quot; -o &quot;$1&quot; = &quot;--help&quot; -o &quot;$1&quot; = &quot;-h&quot; ]&lt;br /&gt;then&lt;br /&gt;echo &quot;Usage: $0 url [destination]&quot;&lt;br /&gt;exit&lt;br /&gt;fi&lt;br /&gt;page=${1#*picasaweb.google.*/}&lt;br /&gt;if [ &quot;$page&quot; = &quot;$1&quot; ]&lt;br /&gt;then&lt;br /&gt;echo &quot;\&quot;$1\&quot; is not the URL of a PicasaWeb album or gallery&quot; 1&amp;gt;&amp;amp;2&lt;br /&gt;exit $EX_USAGE&lt;br /&gt;fi&lt;br /&gt;temp=`mktemp`&lt;br /&gt;if wget $WGET_OPT -O $temp &quot;$1&quot;&lt;br /&gt;then&lt;br /&gt;finalPage=${page#*/}&lt;br /&gt;if [ -z &quot;$finalPage&quot; -o &quot;$finalPage&quot; = &quot;$page&quot; ]&lt;br /&gt;then&lt;br /&gt;# $temp is a gallery&lt;br /&gt;if [ -z &quot;$2&quot; ]&lt;br /&gt;then&lt;br /&gt;destination=`grep -m 1 &quot;^var _user&quot; $temp`&lt;br /&gt;destination=${destination##*nickname:\&quot;}&lt;br /&gt;set &quot;$1&quot; &quot;${destination%%\&quot;*}&quot;&lt;br /&gt;fi&lt;br /&gt;mkdir -p &quot;$2&quot;&lt;br /&gt;cd &quot;$2&quot;&lt;br /&gt;grep -E -o &quot;$1&quot;[/]?[[:alnum:]:.%~_-]+ $temp | sort | uniq |&lt;br /&gt;while read album&lt;br /&gt;do&lt;br /&gt;&quot;$0&quot; $album&lt;br /&gt;done&lt;br /&gt;else&lt;br /&gt;# $temp is an album&lt;br /&gt;if [ -z &quot;$2&quot; ]&lt;br /&gt;then&lt;br /&gt;destination=`grep -m 1 &quot;^var _album&quot; $temp`&lt;br /&gt;destination=${destination##*title:\&quot;}&lt;br /&gt;set &quot;$1&quot; &quot;${destination%%\&quot;*}&quot;&lt;br /&gt;fi&lt;br /&gt;grep -E -o {id:\&quot;[0-9]+\&quot;,s:\&quot;[[:alnum:]:\\.%~_-]+ $temp |&lt;br /&gt;while read picture&lt;br /&gt;do&lt;br /&gt;picture=${picture##*\&quot;}&lt;br /&gt;picture=${picture/\x2Fs144/}&lt;br /&gt;wget $WGET_OPT -P &quot;$2&quot; ${picture//\x2F//}&lt;br /&gt;done&lt;br /&gt;fi&lt;br /&gt;else&lt;br /&gt;exit $EX_NOHOST&lt;br /&gt;fi&lt;br /&gt;rm $temp&lt;/div&gt;</description>
  <comments>http://community.livejournal.com/ru_shell/9164.html</comments>
  <category>bash</category>
  <category>backup</category>
  <lj:security>public</lj:security>
  <lj:poster>grohman</lj:poster>
  <lj:posterid>5788850</lj:posterid>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/ru_shell/8715.html</guid>
  <pubDate>Tue, 26 Feb 2008 13:18:51 GMT</pubDate>
  <title>MyWebPlayer -- remote Mplayer control</title>
  <link>http://community.livejournal.com/ru_shell/8715.html</link>
  <description>Некоторое время назад я написал ну очень простую веб-морду для управления mplayer&apos;ом. Настолько простую, что она работает в любой posix-совместимой ОС без правки кода.&amp;nbsp; Я пользуюсь ей со своего PDA, но, насколько я понимаю, ее можно юзать с любого устройства, на котором есть броузер с поддержкой html 4.0 и какое-то понятие о сетях.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://pics.livejournal.com/grohman/pic/00017rgt/&quot;&gt;&lt;img width=&quot;320&quot; height=&quot;240&quot; border=&quot;0&quot; src=&quot;http://pics.livejournal.com/grohman/pic/00017rgt&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;strike&gt;&lt;br /&gt;Пока еще я периодически добавляю туда новые функции, скачать это можно через svn командой&lt;br /&gt;svn co https://mywebplayer.svn.sourceforge.net/svnroot/mywebplaye&lt;/strike&gt;r&lt;br /&gt;Для работы этой поделки нужно - веб-сервер с php (можно использовать встроенный веб-сервер, он запустится автоматически), bash и mplayer. &lt;br /&gt;Кратко о включении: после скачивания mywebplayer отсюда http://sourceforge.net/projects/mywebplayer , нужно подправить файл config.php, в котором нужно указать путь до аудио/видео контента. Там же можно указать что именно нужно проигрывать - файлы, или плейлисты. &lt;br /&gt;После, нужно перейти в директорию sh и выполнить ./fifo.sh start&lt;br /&gt;Это все. После можно открыть веб-броузером index.php и пробовать чего-то сделать. Я уже несколько недель только так и смотрю фильмы - не подходя к комьютеру, просто запускаю что-то с кпк. &lt;br /&gt;Для того чтобы все остановить, нужно выполнить ./fifo.sh stop&lt;br /&gt;Интересно было бы услышать ваши замечания и предложения.&lt;br /&gt;&lt;br /&gt;P.S. Internet Explorer в windows mobile не умеет html 4.0, если что...&lt;a name=&quot;cutid2&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;img alt=&quot;&quot; src=&quot;http://sourceforge.net/dbimage.php?id=197552&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://sourceforge.net/dbimage.php?id=197524&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://sourceforge.net/dbimage.php?id=197524&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Update: теперь список файлов для просмотра строится в зависимости от указанных в config.php расширений&lt;br /&gt;&lt;br /&gt;Можно скачать эту штуку вот здесь - http://sourceforge.net/projects/mywebplayer/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description>
  <comments>http://community.livejournal.com/ru_shell/8715.html</comments>
  <category>bash</category>
  <category>php</category>
  <category>video</category>
  <lj:security>public</lj:security>
  <lj:poster>grohman</lj:poster>
  <lj:posterid>5788850</lj:posterid>
  <lj:reply-count>19</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/ru_shell/8562.html</guid>
  <pubDate>Sat, 02 Feb 2008 04:46:20 GMT</pubDate>
  <title>DVD-Video в KDE4</title>
  <link>http://community.livejournal.com/ru_shell/8562.html</link>
  <description>Захотелось смотреть сабж. К сожалению, я так и не нашёл где можно добавлять Actions в Dolphin или Konqueror в kde4,&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;div class=&quot;ljcut&quot; text=&quot;Read more...&quot;&gt;так что пока для совсем срочного решения, с которым справилась бы моя младшая сестра или мама, был написан /usr/bin/xine-dvd:&lt;br /&gt;&lt;br /&gt;&lt;font size=&quot;1&quot;&gt;#!/bin/bash&lt;br /&gt;dvd=$*;&lt;br /&gt;xine dvd://&quot;$dvd&quot;;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;В файл-менеджере в kde4 я кликаю по директории с двд-видео, выбираю open with и там пишу xine-dvd. Использовать `pwd` там не получилось, даже незнаю почему - ни в какую не экранируются пробелы. Но это и не самое важное. Гораздо интереснее как бы это, несомненно работающее, но абсолютно наколенное решение добавить в Actions в Dolphin, чтобы на ряду с &quot;open in terminal&quot; и &quot;archive &amp;amp; encrypt&quot; можно было бы ткнуть что-то вроде &quot;open dvd in xine&quot;. &lt;br /&gt;Очень расчитываю на Вашу помощь в интеграции всякого барахла с kde4.&lt;br /&gt;&lt;br /&gt;P.S. Подобная штука была в Kde3, вроде бы даже на kde-look.org кто-то пример выкладывал. Но с kde4 то решение не прокатило :(&lt;/div&gt;</description>
  <comments>http://community.livejournal.com/ru_shell/8562.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>grohman</lj:poster>
  <lj:posterid>5788850</lj:posterid>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/ru_shell/7125.html</guid>
  <pubDate>Tue, 28 Aug 2007 14:58:13 GMT</pubDate>
  <title>программист bash</title>
  <link>http://community.livejournal.com/ru_shell/7125.html</link>
  <description>В компанию &quot;Rambler&quot; в отдел поисковых систем требуется программист bash для автоматизации, усовершенствования и мониторинга технологических процессов построения поискового индекса&lt;br /&gt;&lt;br /&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;br /&gt;Основные требования: &lt;br /&gt;Необходимо: хорошие знания bash, командное окружение ОС UNIX&lt;br /&gt;&lt;br /&gt;Желательно: &lt;br /&gt;знания скриптовых языков (Perl,Python,awk), C/C++&lt;br /&gt;&lt;br /&gt;Условия: &lt;br /&gt;Зарплата по результатам собеседования. Оформление по ТК, соц.пакет, оплачиваемый отпуск, премии&lt;br /&gt;Офис м. Автозаводская (в 2-х минутах ходьбы, удобный выезд на ТТК)&lt;br /&gt;&lt;br /&gt;Контактное лицо:	Букин Руслан Михайлович &lt;br /&gt;br@rambler-co.ru &lt;br /&gt;Телефон:	7453619 доб. 3352&lt;br /&gt;</description>
  <comments>http://community.livejournal.com/ru_shell/7125.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>bukinr</lj:poster>
  <lj:posterid>13051938</lj:posterid>
  <lj:reply-count>3</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/ru_shell/6887.html</guid>
  <pubDate>Fri, 27 Jul 2007 05:16:04 GMT</pubDate>
  <title>С Днём Системного Администратора!</title>
  <link>http://community.livejournal.com/ru_shell/6887.html</link>
  <description>&lt;img alt=&quot;&quot; src=&quot;http://pics.livejournal.com/grohman/pic/0000ssqh&quot; /&gt;&lt;br /&gt;&lt;br /&gt;Хоть праздник этот и не совсем вписывается в формат нашего журнала, anw, я думаю среди нас есть люди, которых можно поздравить. &lt;br /&gt;Happy sysadmin day@2K7 :-)</description>
  <comments>http://community.livejournal.com/ru_shell/6887.html</comments>
  <category>ДСА 2007</category>
  <lj:security>public</lj:security>
  <lj:poster>grohman</lj:poster>
  <lj:posterid>5788850</lj:posterid>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/ru_shell/6532.html</guid>
  <pubDate>Sun, 08 Jul 2007 18:52:45 GMT</pubDate>
  <title>Видео для PDA</title>
  <link>http://community.livejournal.com/ru_shell/6532.html</link>
  <description>Что я захотел сделать, я думаю, понятно из сабжа :)&lt;br /&gt;Это пока сырая версия. Тоесть, рабочая, но местами совсем не оптимизированна.&lt;br /&gt;Ваши замечания приветствуются.&lt;br /&gt;&lt;br /&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;div class=&quot;ljcut&quot; text=&quot;mencpda.sh&quot;&gt;#!/bin/bash&lt;br /&gt;echo &quot;_____________________________________________________________&quot;&lt;br /&gt;echo &quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _&quot;&lt;br /&gt;echo &quot; _ __ ___&amp;nbsp;&amp;nbsp; ___ _ __&amp;nbsp;&amp;nbsp; ___ _ __&amp;nbsp;&amp;nbsp; __| | __ _&quot;&lt;br /&gt;echo &quot;| &apos;_ &apos; _ \ / _ \ &apos;_ \ / __| &apos;_ \ / _&apos; |/ _&apos; |&quot;&lt;br /&gt;echo &quot;| | | | | |&amp;nbsp; __/ | | | (__| |_) | (_| | (_| |&quot;&lt;br /&gt;echo &quot;|_| |_| |_|\___|_| |_|\___| .__/ \__,_|\__,_|&quot;&lt;br /&gt;echo &quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |_|&quot;&lt;br /&gt;echo&lt;br /&gt;echo &quot;(c)2007 by Grohman@ru_shell&quot;&lt;br /&gt;echo &quot;_____________________________________________________________&quot;&lt;br /&gt;echo&lt;br /&gt;files=$*&lt;br /&gt;if [ &quot;${files}&quot; = &apos;&apos; ]; then&lt;br /&gt;files=*&lt;br /&gt;fi&lt;br /&gt;echo &quot;ВНИМАНИЕ! Имена файлов после запуска скрипта будут изменены. Нажмите Ctrl+c для отмены&quot;;&lt;br /&gt;echo&lt;br /&gt;echo&lt;br /&gt;sleep 3&lt;br /&gt;rm -f /tmp/mencpda.lst&lt;br /&gt;touch /tmp/mencpda.lst&lt;br /&gt;for orig_video in ${files}; do&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ &quot;`echo $orig_video | grep -v pda`&quot; != &quot;&quot; ]; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp_pda_video=`echo $orig_video|tr &apos; &apos; &apos;_&apos;|sed &quot;s/,//g&quot;|sed &quot;s/\\[/_/g&quot;|sed &quot;s/\\]/_/g&quot;|tr [&apos;A-Z&apos;] [&apos;a-z&apos;]`&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo $temp_pda_video &amp;gt;&amp;gt; /tmp/mencpda.lst&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mv -vf &quot;$orig_video&quot; &quot;$temp_pda_video&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;done&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ &quot;`cat /tmp/mencpda.lst`&quot; = &quot;&quot; ]; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &quot;Всё уже сконвертировали до нас&quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &quot;___________________________________________________&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &quot;Удалять оригинальные файлы после конвертации? (y/N)&quot;; read ERASE;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for i in `cat /tmp/mencpda.lst`; do&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo -e &quot;\033[32m * \033[0m&quot; Конвертируем &quot;\033[32m&quot; $i... &quot;\033[0m&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mencoder -msglevel all=0:statusline=5 $i -ovc xvid -xvidencopts bitrate=200 -ofps 12 -vf scale=320:240 -oac mp3lame -o $i.pda.avi 2&amp;gt; /dev/null&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sleep 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; done&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&lt;br /&gt;echo&lt;br /&gt;echo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case $ERASE in&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [yY])&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for f in `cat /tmp/mencpda.lst`; do&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo -e &quot;\033[32m * \033[0m &quot;Удаляем &quot;\033[32m&quot; $f...&quot;\033[0m&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rm -f $f&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; done&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for f in `cat /tmp/mencpda.lst`; do&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo -e &quot;\033[32m * \033[0m &quot;Файл &quot;\033[32m&quot;$f&quot;\\033[0m не был удален.&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; done&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; esac&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;update:Спасибо &lt;a href=&quot;http://h0rn.livejournal.com/profile&quot;&gt;&lt;img width=&quot;17&quot; height=&quot;17&quot; style=&quot;border: 0pt none ; vertical-align: bottom;&quot; alt=&quot;[info]&quot; src=&quot;http://stat.livejournal.com/img/userinfo.gif&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://h0rn.livejournal.com/&quot;&gt;&lt;b&gt;h0rn&lt;/b&gt;&lt;/a&gt;&lt;span style=&quot;font-weight: normal; color: rgb(0, 0, 0);&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: normal; color: rgb(0, 0, 0);&quot;&gt; за идею - теперь можно конвертировать не только все файлы, но и отдельно выбранные.&lt;br /&gt; bug #1: нельзя указывать файлы с неэкранированными именами. Я думаю, это будет исправлено позже&lt;br /&gt;&lt;br /&gt;update1: вынес case $erase за пределы цикла конвертирования. Теперь листинг обработанных файлов выдаётся по окончанию работы скрипта.&lt;br /&gt;&lt;br /&gt;update2: список файлов теперь выдаётся целиком перед началом конвертации&lt;/span&gt;</description>
  <comments>http://community.livejournal.com/ru_shell/6532.html</comments>
  <category>bash</category>
  <category>pda</category>
  <category>video</category>
  <category>mencoder</category>
  <lj:security>public</lj:security>
  <lj:poster>grohman</lj:poster>
  <lj:posterid>5788850</lj:posterid>
  <lj:reply-count>3</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/ru_shell/6214.html</guid>
  <pubDate>Wed, 20 Jun 2007 12:10:47 GMT</pubDate>
  <title>_swap</title>
  <link>http://community.livejournal.com/ru_shell/6214.html</link>
  <description>Написал ф-цию для замены местами двух файлов (swap). очень удобно если приходится например часто менять конфиги или скрипты.
В инете ничего похожего найти не удалось.

&lt;pre&gt;
# warning, use with caution!
function _swap {
    #set -x
    TMPF=&quot;/tmp/$1.for_swap&quot;
    [[ -f $1 &amp;&amp; -f $2 ]] || { echo &quot;Not enough files to work with.&quot; &amp;gt;&amp;2; return -1; }
    cp -f $1 $TMPF || { echo &quot;Cannot create temporary file. TMPF=$TMPF&quot; &amp;gt;&amp;2; return -1; }
    cp -f $2 $1 &amp;&amp; cp -f $TMPF $2 || { echo &quot;Error, Rollback.&quot; &amp;gt;&amp;2; cp -f $TMPF $1; }
    rm -f $TMPF
    #set +x
}
&lt;/pre&gt;
пример использования:
&lt;pre&gt;
$ cat a b
a
b
$ _swap a b
$ cat a b
b
a
&lt;/pre&gt;

&quot;версия&quot; сырая, но мне нравится сама идея свопа D_D</description>
  <comments>http://community.livejournal.com/ru_shell/6214.html</comments>
  <category>bash</category>
  <lj:security>public</lj:security>
  <lj:poster>k0wax</lj:poster>
  <lj:posterid>10086403</lj:posterid>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/ru_shell/5885.html</guid>
  <pubDate>Fri, 18 May 2007 14:53:19 GMT</pubDate>
  <title>mail via perl</title>
  <link>http://community.livejournal.com/ru_shell/5885.html</link>
  <description>Возникла необходимость создать корпоративную рассылку по куче адресов. Типо, обычное письмо, в заголовке &quot;Кому&quot; для каждого получателя только его адрес, а не все адреса получателей, внутри письма атач... Для этого был написан сл. скрипт.&lt;br /&gt;&lt;br /&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;div class=&quot;ljcut&quot; text=&quot;Read more...&quot;&gt;#!/usr/bin/perl&lt;br /&gt;&lt;br /&gt;open (SPAM, &quot;~/rcpts&quot;) or die &quot;Can&apos;t open rcpts list: $!\n&quot;;&lt;br /&gt;while(&amp;lt;SPAM&amp;gt;)&lt;br /&gt;{&lt;br /&gt;$i=$i+1;&lt;br /&gt;$arr[$i-1]=&quot;$_&quot;;&lt;br /&gt;}&lt;br /&gt;for ($u=0; $u!=$i; $u++) {&lt;br /&gt;&lt;br /&gt;open(MAIL, &quot;|/usr/sbin/sendmail -oi -t -odq -r mail\@domain.tld&quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; or die &quot;Can&apos;t fork for sendmail: $!\n&quot;;&lt;br /&gt;print MAIL &amp;lt;&amp;lt;&quot;EOF&quot;;&lt;br /&gt;From: root &amp;lt;mail\@domain.tld&amp;gt;&lt;br /&gt;Subject: Enlarge your mind&lt;br /&gt;To: $arr[$u]&lt;br /&gt;Hello dude.&lt;br /&gt;EOF&lt;br /&gt;open(FILE, &quot;uuencode price.zip price.zip|&quot;) or die;&lt;br /&gt;while( &amp;lt;FILE&amp;gt; ) { print MAIL; };&lt;br /&gt;sleep 1;&lt;br /&gt;close(MAIL);&lt;br /&gt;};&lt;br /&gt;&lt;/div&gt;</description>
  <comments>http://community.livejournal.com/ru_shell/5885.html</comments>
  <category>perl sendmail uuencode</category>
  <lj:security>public</lj:security>
  <lj:poster>grohman</lj:poster>
  <lj:posterid>5788850</lj:posterid>
  <lj:reply-count>5</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/ru_shell/5238.html</guid>
  <pubDate>Fri, 23 Mar 2007 15:09:27 GMT</pubDate>
  <title>Экранирование кавычек</title>
  <link>http://community.livejournal.com/ru_shell/5238.html</link>
  <description>Простите мне мой блондинистый вопрос, но столкнулась с тем, что не могу верно заэкранивароть кавычки. (Или может быть дело вообще в другом)&lt;br /&gt;&lt;br /&gt;В общем, есть скрипт convert.sh:&lt;br /&gt;----------&lt;br /&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin&lt;br /&gt;export TMPDIR=/www/tmp&lt;br /&gt;&lt;br /&gt;ulimit -d 131072&lt;br /&gt;&lt;br /&gt;if [ `ps ax | grep &apos;/usr/local/bin/convert&apos; | egrep -v &apos;(grep|convert\.sh)&apos; | wc -l` -le 15 ]; then&lt;br /&gt;  /usr/local/bin/convert $*&lt;br /&gt;fi&lt;br /&gt;---------&lt;br /&gt;&lt;br /&gt;Этот срипт вызвает convert ImageMagick`а, но не больше 5ти зараз.&lt;br /&gt;Пытаюсь к нему обращаться:&lt;br /&gt;/usr/local/bin/convert.sh /tmp/test.jpg -scale &quot;490x367&quot; -sharpen 1 -gravity NorthWest -stroke none -fill &apos;rgba(204,0,0,1)&apos; -font /fonts/timesbi.ttf -pointsize 36 -draw &quot;translate 5,5 skewX 0 text 0,0 &apos;testrtrtrtrtsdsdsd&apos;&quot; /tmp/test2.jpg&lt;br /&gt;&lt;br /&gt;Ругается страшно:&lt;br /&gt;&lt;small&gt;convert: unable to open image `5,5&apos;: No such file or directory.&lt;br /&gt;convert: unable to open image `skewX&apos;: No such file or directory.&lt;br /&gt;convert: unable to open image `0&apos;: No such file or directory.&lt;br /&gt;convert: unable to open image `text&apos;: No such file or directory.&lt;br /&gt;convert: unable to open image `0,0&apos;: No such file or directory.&lt;br /&gt;convert: unable to open image `&quot;testrtrtrtrtsdsdsd&quot;&apos;: No such file or directory.&lt;br /&gt;convert: unable to open image `5,5&apos;: No such file or directory.&lt;br /&gt;convert: unable to open image `skewX&apos;: No such file or directory.&lt;br /&gt;convert: unable to open image `0&apos;: No such file or directory.&lt;br /&gt;convert: unable to open image `text&apos;: No such file or directory.&lt;br /&gt;convert: unable to open image `0,0&apos;: No such file or directory.&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;Причём напрямую обращение к convert работает:&lt;br /&gt;convert /tmp/test.jpg -scale &quot;490x367&quot; -sharpen 1 -gravity NorthWest -stroke none -fill &apos;rgba(204,0,0,1)&apos; -font /fonts/timesbi.ttf -pointsize 36 -draw &quot;translate 5,5 skewX 0 text 0,0 &apos;testrtrtrtrtsdsdsd&apos;&quot; /tmp/test2.jpg&lt;br /&gt;&lt;br /&gt;Если удалить ту часть строки, где вложенные один в другие кавычки - то тоже все работает (с convert.sh). Как я их экранировать не пыталась - ничего не получается. Подскажите, пожалуйста, как правильно?</description>
  <comments>http://community.livejournal.com/ru_shell/5238.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>toivonens</lj:poster>
  <lj:posterid>8501247</lj:posterid>
  <lj:reply-count>13</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://community.livejournal.com/ru_shell/4887.html</guid>
  <pubDate>Fri, 23 Mar 2007 05:14:26 GMT</pubDate>
  <link>http://community.livejournal.com/ru_shell/4887.html</link>
  <description>Народ нужен хелп!!!&lt;br /&gt;Как в win32 cmd в bat файле проверить пустали папка по средствам if!????</description>
  <comments>http://community.livejournal.com/ru_shell/4887.html</comments>
  <lj:security>public</lj:security>
  <lj:poster>artzub</lj:poster>
  <lj:posterid>9963204</lj:posterid>
  <lj:reply-count>1</lj:reply-count>
</item>
</channel>
</rss>
