<?xml version="1.0" encoding="UTF-8"?><rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
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/"
> <channel><title>Comments on: Introdução a shell script</title> <atom:link href="http://www.picoloto.com.br/linux/shell.php/feed" rel="self" type="application/rss+xml" /><link>http://www.picoloto.com.br/linux/shell.php</link> <description>Dicas e "notícias" sobre Linux, Segurança e etc ...</description> <lastBuildDate>Thu, 09 Jun 2011 19:02:56 +0000</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3</generator> <item><title>By: Rodrigo G. M. Catto</title><link>http://www.picoloto.com.br/linux/shell.php/comment-page-1#comment-55</link> <dc:creator>Rodrigo G. M. Catto</dc:creator> <pubDate>Wed, 19 Nov 2008 12:09:59 +0000</pubDate> <guid
isPermaLink="false">http://cenoura.homelinux.com/linux/shell.php#comment-55</guid> <description>Uma coisa legal do bash:#aqui seta as informacoes
catalina_no1=&quot;/usr/local/tomcat1&quot;
catalina_no2=&quot;/usr/local/tomcat2&quot;
catalina_no1_webapps=&quot;$catalina_no1/webapps&quot;
catalina_no2_webapps=&quot;$catalina_no2/webapps&quot;
porta_catalina_no1=&quot;8080&quot;
porta_catalina_no2=&quot;8090&quot;# aqui os nos que vao ser usados
nos_utilizados=&quot;catalina_no1 catalina_no2&quot;for nos in $nos_utilizados ; do
echo &quot;Tem um tomcat no caminho &#039;${!nos}&#039;&quot;;
aplicacoes=&quot;${nos}_webapps&quot;;
aplicacoes=&quot;${!aplicacoes}&quot;;
echo &quot;As aplicacoes estao no caminho &#039;$aplicacoes&#039;&quot;;
porta=&quot;porta_$nos&quot;;
porta=${!porta}
echo &quot;E sao acessadas pela porta $porta&quot;;
doneImpressão:Tem um tomcat no caminho &#039;/usr/local/tomcat1&#039;
As aplicacoes estao no caminho &#039;/usr/local/tomcat1/webapps&#039;
E sao acessadas pela porta 8080
Tem um tomcat no caminho &#039;/usr/local/tomcat2&#039;
As aplicacoes estao no caminho &#039;/usr/local/tomcat2/webapps&#039;
E sao acessadas pela porta 8090O que que o script faz?!O script faz para cada string separada por espaços da variável
$nos_utilizados:
seta em $nos, o valor de nos é o nome de uma outra variável, certo?! para imprimir o valor da variável com aquele nome é so usar ${!nos} que ele faz como se fosse assim \$$nos, onde a interpretação ficaria ${!nos} =&gt; ${catalina_no1} =&gt; &quot;/usr/local/tomcat1&quot;.
Então pode se dizer que $nos é um ponteiro de variáveis.
Depois fazemos um modo de que a partir de $nos imprimir as informações relacionadas as outras variáveis:
aplicacoes = &quot;${nos}_webapps&quot; =&gt; aplicacoes = catalina_no1_webapps;
E na próxima linha:
aplicacoes=&quot;${!aplicacoes}&quot; =&gt; aplicacoes = ${catalina_no1_webapps} =&gt; aplicacoes = &quot;/usr/local/tomcat1/webapps&quot;;
Já para imprimir a porta do respectivo servidor temos:
porta=&quot;porta_$nos&quot; =&gt; porta = &quot;porta_catalina_no1&quot;;
E na proxima linha:
porta=${!porta} =&gt; porta = ${porta_catalina_no1} =&gt; porta=&quot;8080&quot;;Assim você pode gerar scripts inteligentes onde alterações são feitas apenas nas configurações, sem intervenção na lógica do script.Ps. É como se o endereço do ponteiro fosse o nome da variável pra quem ele aponta.</description> <content:encoded><![CDATA[<p>Uma coisa legal do bash:</p><p>#aqui seta as informacoes<br
/> catalina_no1=&#8221;/usr/local/tomcat1&#8243;<br
/> catalina_no2=&#8221;/usr/local/tomcat2&#8243;<br
/> catalina_no1_webapps=&#8221;$catalina_no1/webapps&#8221;<br
/> catalina_no2_webapps=&#8221;$catalina_no2/webapps&#8221;<br
/> porta_catalina_no1=&#8221;8080&#8243;<br
/> porta_catalina_no2=&#8221;8090&#8243;</p><p># aqui os nos que vao ser usados<br
/> nos_utilizados=&#8221;catalina_no1 catalina_no2&#8243;</p><p>for nos in $nos_utilizados ; do<br
/> echo &#8220;Tem um tomcat no caminho &#8216;${!nos}&#8217;&#8221;;<br
/> aplicacoes=&#8221;${nos}_webapps&#8221;;<br
/> aplicacoes=&#8221;${!aplicacoes}&#8221;;<br
/> echo &#8220;As aplicacoes estao no caminho &#8216;$aplicacoes&#8217;&#8221;;<br
/> porta=&#8221;porta_$nos&#8221;;<br
/> porta=${!porta}<br
/> echo &#8220;E sao acessadas pela porta $porta&#8221;;<br
/> done</p><p>Impressão:</p><p>Tem um tomcat no caminho &#8216;/usr/local/tomcat1&#8242;<br
/> As aplicacoes estao no caminho &#8216;/usr/local/tomcat1/webapps&#8217;<br
/> E sao acessadas pela porta 8080<br
/> Tem um tomcat no caminho &#8216;/usr/local/tomcat2&#8242;<br
/> As aplicacoes estao no caminho &#8216;/usr/local/tomcat2/webapps&#8217;<br
/> E sao acessadas pela porta 8090</p><p>O que que o script faz?!</p><p>O script faz para cada string separada por espaços da variável<br
/> $nos_utilizados:<br
/> seta em $nos, o valor de nos é o nome de uma outra variável, certo?! para imprimir o valor da variável com aquele nome é so usar ${!nos} que ele faz como se fosse assim \$$nos, onde a interpretação ficaria ${!nos} =&gt; ${catalina_no1} =&gt; &#8220;/usr/local/tomcat1&#8243;.<br
/> Então pode se dizer que $nos é um ponteiro de variáveis.<br
/> Depois fazemos um modo de que a partir de $nos imprimir as informações relacionadas as outras variáveis:<br
/> aplicacoes = &#8220;${nos}_webapps&#8221; =&gt; aplicacoes = catalina_no1_webapps;<br
/> E na próxima linha:<br
/> aplicacoes=&#8221;${!aplicacoes}&#8221; =&gt; aplicacoes = ${catalina_no1_webapps} =&gt; aplicacoes = &#8220;/usr/local/tomcat1/webapps&#8221;;<br
/> Já para imprimir a porta do respectivo servidor temos:<br
/> porta=&#8221;porta_$nos&#8221; =&gt; porta = &#8220;porta_catalina_no1&#8243;;<br
/> E na proxima linha:<br
/> porta=${!porta} =&gt; porta = ${porta_catalina_no1} =&gt; porta=&#8221;8080&#8243;;</p><p>Assim você pode gerar scripts inteligentes onde alterações são feitas apenas nas configurações, sem intervenção na lógica do script.</p><p>Ps. É como se o endereço do ponteiro fosse o nome da variável pra quem ele aponta.</p> ]]></content:encoded> </item> <item><title>By: José</title><link>http://www.picoloto.com.br/linux/shell.php/comment-page-1#comment-54</link> <dc:creator>José</dc:creator> <pubDate>Sat, 18 Oct 2008 16:43:34 +0000</pubDate> <guid
isPermaLink="false">http://cenoura.homelinux.com/linux/shell.php#comment-54</guid> <description>olá, estou iniciando no mundo SHELL, já conheço um pouco do sistema operativo Linux, porém ainda não tenho muitos conhecimento na parte de scripts..
Então se alguém tiver algumas dicas para que eu possa ter um entendimento e o desempenho não muito lento ficarei grato..</description> <content:encoded><![CDATA[<p>olá, estou iniciando no mundo SHELL, já conheço um pouco do sistema operativo Linux, porém ainda não tenho muitos conhecimento na parte de scripts..<br
/> Então se alguém tiver algumas dicas para que eu possa ter um entendimento e o desempenho não muito lento ficarei grato..</p> ]]></content:encoded> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 1/9 queries in 0.004 seconds using disk: basic
Object Caching 178/181 objects using disk: basic

Served from: www.picoloto.com.br @ 2012-02-06 16:57:18 -->
