<?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>Arquivo para Shell Scripting - Bóson Treinamentos em Ciência e Tecnologia</title>
	<atom:link href="https://www.bosontreinamentos.com.br/tag/shell-scripting/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.bosontreinamentos.com.br/tag/shell-scripting/</link>
	<description>Artigos e Tutoriais sobre Desenvolvimento de Software, Bancos de Dados SQL, Linux, Lógica de Programação, Inteligência Artificial, Hardware, Eletrônica, Arduino, Técnicas e Teorias de Estudo e Aprendizagem, Carreira em TI, Ciências Cognitivas, e muito mais!</description>
	<lastBuildDate>Wed, 09 Jul 2025 10:49:32 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>
	<item>
		<title>Pausar processos com temporização com o comando sleep no Linux</title>
		<link>https://www.bosontreinamentos.com.br/linux/pausar-processos-com-temporizacao-com-o-comando-sleep-no-linux/</link>
					<comments>https://www.bosontreinamentos.com.br/linux/pausar-processos-com-temporizacao-com-o-comando-sleep-no-linux/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Wed, 18 Dec 2024 11:48:00 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Certificação]]></category>
		<category><![CDATA[Shell Scripting]]></category>
		<guid isPermaLink="false">https://www.bosontreinamentos.com.br/?p=20693</guid>

					<description><![CDATA[<p>Pausar processos com temporização com o comando sleep no Linux  O comando sleep, no Linux, é empregado para pausar um processo por um período de tempo especificado na forma de um ou mais argumentos passados a ele. Esse tempo pode ser especificado em segundos (padrão), minutos, horas ou dias. Sintaxe $ sleep numero [opções&#124;unidades]... Onde numero é um valor inteiro positivo, seguido por uma unidade de tempo opcional. Se a unidade de tempo não for especificada, será assumida como sendo tempo em segundos, por padrão. As unidades aceitas pelo sleep são as seguintes: s: segundos m: minutos h: horas d: dias É possível passar mais de um valor de tempo ao comando, e nesse caso os valores são somados automaticamente para resultar no valor da temporização final. No lugar de numero também é possível usar a palavra inf, que significa pausa infinita. As únicas opções disponíveis para o sleep são &#8211;help (para ajuda do comando) e &#8211;version (consultar versão). Para que usamos exatamente o comando sleep? O comando sleep pode ser usado em diversas tarefas em um sistema Linux, tais como: Sincronização de processos, permitindo inserir atrasos entre comandos ou processos, garantindo a execução sequencial correta. Economia de recursos ao [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/pausar-processos-com-temporizacao-com-o-comando-sleep-no-linux/">Pausar processos com temporização com o comando sleep no Linux</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Pausar processos com temporização com o comando sleep no Linux </h1>
<p>O comando sleep, no Linux, é empregado para pausar um processo por um período de tempo especificado na forma de um ou mais argumentos passados a ele. Esse tempo pode ser especificado em segundos (padrão), minutos, horas ou dias.</p>
<h2>Sintaxe</h2>
<pre><span style="color: #800080;"><strong>$ sleep <em>numero</em> [opções|unidades]...</strong></span></pre>
<p>Onde <em>numero</em> é um valor inteiro positivo, seguido por uma unidade de tempo opcional. Se a unidade de tempo não for especificada, será assumida como sendo tempo em segundos, por padrão.</p>
<p>As unidades aceitas pelo sleep são as seguintes:</p>
<ul>
<li>s: segundos</li>
<li>m: minutos</li>
<li>h: horas</li>
<li>d: dias</li>
</ul>
<p>É possível passar mais de um valor de tempo ao comando, e nesse caso os valores são somados automaticamente para resultar no valor da temporização final.</p>
<p>No lugar de numero também é possível usar a palavra <strong>inf</strong>, que significa pausa infinita.</p>
<p>As únicas opções disponíveis para o sleep são <strong>&#8211;help</strong> (para ajuda do comando) e <strong>&#8211;version</strong> (consultar versão).</p>
<h2>Para que usamos exatamente o comando sleep?</h2>
<p>O comando sleep pode ser usado em diversas tarefas em um sistema Linux, tais como:</p>
<ul>
<li>Sincronização de processos, permitindo inserir atrasos entre comandos ou processos, garantindo a execução sequencial correta.</li>
<li>Economia de recursos ao usar scripts ou loops, sendo possível reduzir o uso de CPU ao aguardar antes de novas tentativas ou verificações.</li>
<li>Automação de tarefas repetitivas em intervalos de tempo em scripts.</li>
</ul>
<p>Entre outras.</p>
<h2>Exemplos do comando sleep</h2>
<p>Pausar por 10 segundos:</p>
<pre><strong>$ sleep 10</strong></pre>
<p>Pausar por 5 minutos:</p>
<pre><strong>$ sleep 5m</strong></pre>
<p>Pausar por 1 minuto e 30 segundos:</p>
<pre><strong>$ sleep 1m 30s</strong></pre>
<p>Pausar infinitamente:</p>
<pre><strong>$ sleep inf</strong></pre>
<p>Pausar por 300 milissegundos:</p>
<pre><strong>$ sleep 300e-3</strong></pre>
<p>Neste exemplo, 300e-3 significa 300 x 10-3, ou seja, 300/1000 = 300ms</p>
<p><strong>Gerenciamento de tarefas em sequência</strong></p>
<p>Podemos criar um script que execute tarefas em sequência, mas com intervalos temporais definidos:</p>
<pre><strong>#!/bin/bash</strong>
<strong>./processo1.sh</strong>
<strong>sleep 30 <span style="color: #339966;"># Aguarda 30 segundos antes de iniciar o próximo processo.</span></strong>
<strong>./processo2.sh</strong></pre>
<p><strong>Repetição com intervalo de tempo em loops</strong></p>
<p>Também podemos usar o sleep para inserir pausas em scripts que realizem repetição de tarefas:</p>
<pre><strong>while true; do</strong>
<strong>  echo "Verificando servidor..."</strong>
<strong>  sleep 10 <span style="color: #339966;"># Aguarda 10 segundos antes de repetir.</span></strong>
<strong>done</strong></pre>
<h2>Conclusão</h2>
<p>O comando sleep, como visto, é uma ferramenta simples, porém bastante útil no Linux, especialmente quando usado em scripts e para automação de processos.</p>
<p>Com ele podemos temporizar execuções, economizar recursos e sincronizar processos em sistemas e aplicações.</p>
<h3>Colabore com a Bóson Treinamentos</h3>
<p>Ajude o canal adquirindo meus cursos na Udemy:</p>
<ul>
<li>Bancos de Dados com MySQL Básico: <a href="https://bit.ly/35QdWE4" target="_blank" rel="noopener">https://bit.ly/35QdWE4</a></li>
<li>Lógica de Programação com Português Estruturado: <a href="https://bit.ly/3QKPn22" target="_blank" rel="noopener">https://bit.ly/3QKPn22</a></li>
<li>Programação em Python do Zero: <a href="https://bit.ly/python-boson" target="_blank" rel="noopener">https://bit.ly/python-boson</a></li>
</ul>
<p>Adquira também livros e outros itens na loja da Bóson Treinamentos na Amazon e ajude o canal a se manter e crescer: <a href="https://www.amazon.com.br/shop/bosontreinamentos" target="_blank" rel="noopener">https://www.amazon.com.br/shop/bosontreinamentos</a></p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/pausar-processos-com-temporizacao-com-o-comando-sleep-no-linux/">Pausar processos com temporização com o comando sleep no Linux</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/linux/pausar-processos-com-temporizacao-com-o-comando-sleep-no-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Como usar laços de repetição em Shell Scripting</title>
		<link>https://www.bosontreinamentos.com.br/shell-script/como-usar-lacos-de-repeticao-em-shell-scripting/</link>
					<comments>https://www.bosontreinamentos.com.br/shell-script/como-usar-lacos-de-repeticao-em-shell-scripting/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Mon, 11 Nov 2024 13:25:05 +0000</pubDate>
				<category><![CDATA[Shell Scripting]]></category>
		<category><![CDATA[Certificação]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programação]]></category>
		<guid isPermaLink="false">https://www.bosontreinamentos.com.br/?p=20455</guid>

					<description><![CDATA[<p>Laços de repetição em Shell Scripting Em Shell Scripting, os laços de repetição são estruturas que permitem executar uma série de comandos várias vezes. Os loops ajudam a automatizar tarefas repetitivas, iterando sobre listas, variáveis, comandos e arquivos. O Bash oferece algumas estruturas de repetição essenciais: for, while, e until. Vamos explorar cada uma, com exemplos práticos e exercícios ao final. O laço for em shell scripting O laço for é usado para percorrer uma lista de itens, como um conjunto de números, strings ou até mesmo arquivos. Ele executa o conjunto de comandos uma vez para cada item na lista. Sintaxe básica do laço for for item in lista; do Comandos a serem executados done Exemplo 1: Laço for simples Esse exemplo exibe uma mensagem para cada nome da lista. #!/bin/bash for nome in Fábio Marcos Bruno Robson; do echo "Olá, $nome!" done Saída: Olá, Fábio! Olá, Marcos! Olá, Bruno! Olá Robson! Exemplo 2: Laço for com intervalo de números Podemos definir um intervalo de números e iterar sobre ele: #!/bin/bash for i in {1..5}; do echo "$i" done Saída: 1 2 3 4 5 Exemplo 3: Loop for sobre arquivos em um diretório Este exemplo percorre todos os arquivos [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/shell-script/como-usar-lacos-de-repeticao-em-shell-scripting/">Como usar laços de repetição em Shell Scripting</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Laços de repetição em Shell Scripting</h1>
<p>Em Shell Scripting, os laços de repetição são estruturas que permitem executar uma série de comandos várias vezes. Os loops ajudam a automatizar tarefas repetitivas, iterando sobre listas, variáveis, comandos e arquivos. O Bash oferece algumas estruturas de repetição essenciais: for, while, e until.</p>
<p>Vamos explorar cada uma, com exemplos práticos e exercícios ao final.</p>
<h2>O laço for em shell scripting</h2>
<p>O laço for é usado para percorrer uma lista de itens, como um conjunto de números, strings ou até mesmo arquivos. Ele executa o conjunto de comandos uma vez para cada item na lista.</p>
<h3>Sintaxe básica do laço for</h3>
<pre><span style="color: #800080;"><strong>for item in lista; do</strong></span>
<span style="color: #800080;"><strong>   Comandos a serem executados</strong></span>
<span style="color: #800080;"><strong>done</strong></span></pre>
<p><strong>Exemplo 1: Laço for simples</strong></p>
<p>Esse exemplo exibe uma mensagem para cada nome da lista.</p>
<pre><strong>#!/bin/bash</strong>
<strong>for nome in Fábio Marcos Bruno Robson; do</strong>
<strong>  echo "Olá, $nome!"</strong>
<strong>done</strong></pre>
<p>Saída:</p>
<pre><strong>Olá, Fábio!</strong>
<strong>Olá, Marcos!</strong>
<strong>Olá, Bruno!</strong>
<strong>Olá Robson!</strong></pre>
<p><strong>Exemplo 2: Laço for com intervalo de números</strong></p>
<p>Podemos definir um intervalo de números e iterar sobre ele:</p>
<pre><strong>#!/bin/bash</strong>
<strong>for i in {1..5}; do</strong>
<strong>echo "$i"</strong>
<strong>done</strong></pre>
<p>Saída:</p>
<pre><strong>1</strong>
<strong>2</strong>
<strong>3</strong>
<strong>4</strong>
<strong>5</strong></pre>
<p><strong>Exemplo 3: Loop for sobre arquivos em um diretório</strong></p>
<p>Este exemplo percorre todos os arquivos .txt em um diretório e exibe o nome de cada arquivo.</p>
<pre><strong>#!/bin/bash</strong>
<strong>for arquivo in *.txt; do</strong>
<strong>echo "Encontrado arquivo: $arquivo"</strong>
<strong>done</strong></pre>
<h2>O laço while em shell scripting</h2>
<p>O laço while repete os comandos definidos em seu corpo enquanto uma condição testada for verdadeira. Ele é útil quando a quantidade de iterações não é definida e depende de uma condição.</p>
<h3>Sintaxe básica do while</h3>
<pre><span style="color: #800080;"><strong>while [ condição ]; do</strong></span>
<span style="color: #800080;"><strong>    Comandos a serem executados</strong></span>
<span style="color: #800080;"><strong>done</strong></span></pre>
<p>Vejamos alguns exemplos do loop while em scripts do shell.</p>
<p><strong>Exemplo 1: Loop while simples</strong></p>
<p>Exibir no terminal a sequência de números de 1 a 5:</p>
<pre><strong>#!/bin/bash</strong>
<strong>contador=1</strong>
<strong>while [ $contador -le 5 ]; do</strong>
<strong>  echo "$contador"</strong>
<strong>  contador=$((contador + 1))</strong>
<strong>done</strong></pre>
<p>Saída:</p>
<pre><span style="color: #000000;"><strong>1</strong></span>
<span style="color: #000000;"><strong>2</strong></span>
<span style="color: #000000;"><strong>3</strong></span>
<span style="color: #000000;"><strong>4</strong></span>
<span style="color: #000000;"><strong>5</strong></span></pre>
<p><strong>Exemplo 2: Ler valores do terminal de forma sequencial.</strong></p>
<p>O script a seguir solicita que o usuário digite um número no terminal. Ele repete a solicitação até que o usuário entre com o valor 0, momento em que o loop termina.</p>
<pre><strong>#!/bin/bash</strong>
<strong># Inicializar com um valor diferente de 0 para entrar no loop</strong>
<strong>numero=-1</strong>
<strong>while [ $numero -ne 0 ]; do</strong>
<strong>  read -p "Digite um número (0 para sair): " numero</strong>
<strong>  echo "Você digitou: $numero"</strong>
<strong>done</strong>
<strong>echo "Fim do laço. Você digitou 0."</strong></pre>
<h2>O laço until em shell scripting</h2>
<p>O laço until é semelhante ao laço while, mas ele repete os comandos enquanto uma condição for falsa, e para a execução quando a condição se torna verdadeira.</p>
<h3>Sintaxe básica do until</h3>
<pre><span style="color: #800080;"><strong>until [ condição ]; do</strong></span>
<span style="color: #800080;"><strong>    Comandos a serem executados</strong></span>
<span style="color: #800080;"><strong>done</strong></span></pre>
<p>Vejamos alguns exemplos.</p>
<p><strong>Exemplo 1: Loop until simples</strong></p>
<p>Este exemplo incrementa um contador até que ele atinja 5:</p>
<pre><strong>#!/bin/bash</strong>
<strong>contador=1</strong>
<strong>until [ $contador -gt 5 ]; do</strong>
<strong>  echo "$contador"</strong>
<strong>  contador=$((contador + 1))</strong>
<strong>done
echo "Sequência terminada."</strong></pre>
<p>Saída:</p>
<pre><span style="color: #000000;"><strong>1</strong></span>
<span style="color: #000000;"><strong>2</strong></span>
<span style="color: #000000;"><strong>3</strong></span>
<span style="color: #000000;"><strong>4</strong></span>
<span style="color: #000000;"><strong>5
Sequência terminada.</strong></span></pre>
<h2>Comandos de controle de loop</h2>
<p>Existem comandos de controle que podem ser usados para manipular o comportamento de um loop:</p>
<ul>
<li><strong>break</strong>: Sai do loop imediatamente.</li>
<li><strong>continue</strong>: Pula a iteração atual e vai para a próxima.</li>
</ul>
<p>Vejamos como usá-los em scripts.</p>
<p><strong>Exemplo: Uso de break</strong></p>
<p>Este exemplo usa break para sair do loop se o contador atingir 3.</p>
<pre><strong>#!/bin/bash</strong>
<strong>for i in {1..5}; do</strong>
<strong>  if [ $i -eq 3 ]; then</strong>
<strong>    echo "Saindo do loop no número $i"</strong>
<strong>    break</strong>
<strong>  fi</strong>
<strong>  echo "Número: $i"</strong>
<strong>done</strong></pre>
<p>Saída:</p>
<pre><span style="color: #000000;"><strong>Número: 1</strong></span>
<span style="color: #000000;"><strong>Número: 2</strong></span>
<span style="color: #000000;"><strong>Saindo do loop no número 3</strong></span></pre>
<p><strong>Exemplo: Uso de continue</strong></p>
<p>Este exemplo usa continue para pular a exibição do número 3.</p>
<pre><strong>#!/bin/bash</strong>
<strong>for i in {1..5}; do</strong>
<strong>  if [ $i -eq 3 ]; then</strong>
<strong>    continue</strong>
<strong>  fi</strong>
<strong>  echo "Número: $i"</strong>
<strong>done</strong></pre>
<p>Saída:</p>
<pre><span style="color: #000000;"><strong>Número: 1</strong></span>
<span style="color: #000000;"><strong>Número: 2</strong></span>
<span style="color: #000000;"><strong>Número: 4</strong></span>
<span style="color: #000000;"><strong>Número: 5</strong></span></pre>
<p>Excelente. Vamos propor agora alguns exercícios para você treinar o uso de laços de repetição em Shell Scripting. Resoluções sugeridas se encontram logo após a lista de exercícios.</p>
<h2>Exercícios práticos com laços de repetição</h2>
<ol>
<li>Crie um script que exiba uma contagem regressiva de 10 a 1 usando um loop for.</li>
<li>Use um loop while para somar os números de 1 a 100 e exibir o resultado total.</li>
<li>Escreva um script que use o loop for para percorrer arquivos .txt em um diretório e exiba o nome de cada arquivo encontrado.</li>
<li>Use um loop until para solicitar uma senha até que o usuário digite a senha correta (&#8220;1234&#8221;).</li>
<li>Crie um loop for que percorra os números de 1 a 10, pulando o número 5 e saindo do loop quando chegar ao número 8.</li>
</ol>
<h3>Resolução dos exercícios</h3>
<p><strong>Exercício 1</strong></p>
<pre><strong>#!/bin/bash</strong>
<strong>for i in {10..1}; do</strong>
<strong>  echo "Contagem regressiva: $i"</strong>
<strong>done</strong></pre>
<p><strong>Exercício 2</strong></p>
<pre><strong>#!/bin/bash</strong>
<strong>soma=0</strong>
<strong>contador=1</strong>
<strong>while [ $contador -le 100 ]; do</strong>
<strong>  soma=$((soma + contador))</strong>
<strong>  contador=$((contador + 1))</strong>
<strong>done</strong>
<strong>echo "A soma de 1 a 100 é: $soma"</strong></pre>
<p><strong>Exercício 3</strong></p>
<pre><strong>#!/bin/bash</strong>
<strong>for arquivo in *.txt; do</strong>
<strong>  echo "Arquivo encontrado: $arquivo"</strong>
<strong>done</strong></pre>
<p><strong>Exercício 4</strong></p>
<pre><strong>#!/bin/bash</strong>
<strong>senha=""</strong>
<strong>until [ "$senha" == "1234" ]; do</strong>
<strong>  read -sp "Digite a senha: " senha</strong>
<strong>  echo</strong>
<strong>done</strong>
<strong>echo "Senha correta!"</strong></pre>
<p>#Exercício 5: Usar break e continue em um loop</p>
<pre><strong>#!/bin/bash</strong>
<strong>for i in {1..10}; do</strong>
<strong>  if [ $i -eq 5 ]; then</strong>
<strong>    continue</strong>
<strong>  fi</strong>
<strong>  if [ $i -eq 8 ]; then</strong>
<strong>    break</strong>
<strong>  fi</strong>
<strong>  echo "Número: $i"</strong>
<strong>done</strong></pre>
<h2>Conclusão</h2>
<p>Os laços de repetição em Shell Scripting permitem criar fluxos de trabalho eficientes para manipular dados, arquivos e outros elementos de forma automatizada.</p>
<p>Aprender a usar for, while e until com comandos de controle como break e continue aumenta a flexibilidade e o controle que temos sobre o código, permitindo resolver problemas de forma mais simples e eficiente.</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/shell-script/como-usar-lacos-de-repeticao-em-shell-scripting/">Como usar laços de repetição em Shell Scripting</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/shell-script/como-usar-lacos-de-repeticao-em-shell-scripting/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Como exibir mensagens com o comando echo no terminal do Linux</title>
		<link>https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/como-exibir-mensagens-com-o-comando-echo-no-terminal-do-linux/</link>
					<comments>https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/como-exibir-mensagens-com-o-comando-echo-no-terminal-do-linux/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Mon, 11 Nov 2024 12:15:39 +0000</pubDate>
				<category><![CDATA[Certificação LPIC-1]]></category>
		<category><![CDATA[Certificação]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[LPIC]]></category>
		<category><![CDATA[Shell Scripting]]></category>
		<guid isPermaLink="false">https://www.bosontreinamentos.com.br/?p=20453</guid>

					<description><![CDATA[<p>Exibir mensagens com o comando echo no terminal do Linux O comando echo no Linux é uma ferramenta utilizada para exibir mensagens, variáveis e resultados do processamento de scripts diretamente no terminal. Ele é muito empregado em scripts, mas também pode ser usado interativamente para imprimir texto e informações no console. Neste tutorial, vamos explorar o comando echo e seus principais usos com vários exemplos, incluindo algumas de suas opções mais úteis. Sintaxe básica do comando echo A sintaxe básica do comando echo é a seguinte: echo [opções] [texto] O comando echo exibe o texto ou o valor das variáveis passadas como argumento diretamente no terminal. Vejamos alguns exemplos agora. Exemplos básicos de uso do echo 1. Exibir uma mensagem simples echo "Bóson Treinamentos!" Esse comando exibe a mensagem &#8220;Bóson Treinamentos!&#8221; no terminal. 2. Exibir texto com variáveis O echo pode exibir valores armazenados em variáveis. Para isso, basta utilizar o caractere $ antes do nome da variável, como no exemplo a seguir: nome="Isaac Newton" echo "Bem-vindo, $nome!" Saída: Bem-vindo, Isaac Newton! Principais opções do comando echo O echo oferece algumas opções bastante úteis que permitem personalizar a saída: -n: Evita a quebra de linha no final da saída. -e: [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/como-exibir-mensagens-com-o-comando-echo-no-terminal-do-linux/">Como exibir mensagens com o comando echo no terminal do Linux</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Exibir mensagens com o comando echo no terminal do Linux</h1>
<p>O comando echo no Linux é uma ferramenta utilizada para exibir mensagens, variáveis e resultados do processamento de scripts diretamente no terminal. Ele é muito empregado em scripts, mas também pode ser usado interativamente para imprimir texto e informações no console.</p>
<p>Neste tutorial, vamos explorar o comando echo e seus principais usos com vários exemplos, incluindo algumas de suas opções mais úteis.</p>
<h2>Sintaxe básica do comando echo</h2>
<p>A sintaxe básica do comando echo é a seguinte:</p>
<pre><span style="color: #800080;"><strong>echo [opções] [texto]</strong></span></pre>
<p>O comando echo exibe o texto ou o valor das variáveis passadas como argumento diretamente no terminal. Vejamos alguns exemplos agora.</p>
<h2>Exemplos básicos de uso do echo</h2>
<p><strong>1. Exibir uma mensagem simples</strong></p>
<pre><strong>echo "Bóson Treinamentos!"</strong></pre>
<p>Esse comando exibe a mensagem &#8220;<strong>Bóson Treinamentos!</strong>&#8221; no terminal.</p>
<p><strong>2. Exibir texto com variáveis</strong></p>
<p>O echo pode exibir valores armazenados em variáveis. Para isso, basta utilizar o caractere $ antes do nome da variável, como no exemplo a seguir:</p>
<pre><strong>nome="Isaac Newton"</strong>
<strong>echo "Bem-vindo, $nome!"</strong></pre>
<p>Saída:</p>
<pre><span style="color: #000000;"><strong>Bem-vindo, Isaac Newton!</strong></span></pre>
<h3>Principais opções do comando echo</h3>
<p>O echo oferece algumas opções bastante úteis que permitem personalizar a saída:</p>
<ul>
<li>-n: Evita a quebra de linha no final da saída.</li>
<li>-e: Permite o uso de caracteres de escape (como \n para nova linha, \t para tabulação).</li>
<li>-E: Desativa o uso de caracteres de escape (geralmente já é o comportamento padrão).</li>
<li>&#8211;version: Mostra informações sobre a versão do comando e sai</li>
</ul>
<p>Vejamos alguns exemplos de uso do comando echo com essas opções.</p>
<h3>Exemplos com as opções do echo</h3>
<p><strong>Exemplo 1: Usar -n para evitar a quebra de linha</strong></p>
<p>Por padrão, echo adiciona uma nova linha ao final da saída. Com -n, essa quebra de linha é removida.</p>
<pre><strong>echo -n "Esta linha não termina com uma quebra de linha."</strong>
<strong>echo " Próxima linha será exibida na mesma linha."</strong></pre>
<p>Saída:</p>
<pre><span style="color: #000000;"><strong>Esta linha não termina com uma quebra de linha. Próxima linha será exibida na mesma linha.</strong></span></pre>
<p>Ou ainda:</p>
<pre><strong>echo -n "Esta linha não termina com uma quebra de linha" &amp;&amp; echo "<span style="color: #000000;">Próxima linha será exibida na mesma linha</span>"</strong></pre>
<p><strong>Exemplo 2: Usar a opção -e para caracteres de escape</strong></p>
<p>A opção -e permite adicionar caracteres especiais na saída. Alguns dos mais comuns são:</p>
<ul>
<li><strong>\n</strong>: Nova linha</li>
<li><strong>\t</strong>: Tabulação</li>
<li><strong>\\</strong>: Barra invertida literal</li>
</ul>
<p>Por exemplo:</p>
<pre><strong>echo -e "Linha 1\nLinha 2"</strong></pre>
<p>Saída:</p>
<pre><span style="color: #000000;"><strong>Linha 1</strong></span>
<span style="color: #000000;"><strong>Linha 2</strong></span></pre>
<p>Outro exemplo:</p>
<pre><strong>echo -e "Coluna 1\tColuna 2"</strong></pre>
<p>Saída:</p>
<pre><span style="color: #000000;"><strong>Coluna 1    Coluna 2</strong></span></pre>
<p><strong>Exemplo 3: Exibir aspas e caracteres especiais</strong></p>
<p>Para exibir aspas duplas ou outros caracteres especiais, podemos usar a barra invertida \ para escape:</p>
<pre><strong>echo "\"Esse é um texto entre aspas\""</strong></pre>
<p>Saída:</p>
<pre><span style="color: #000000;"><strong>"Esse é um texto entre aspas"</strong></span></pre>
<h3>Usos comuns do echo</h3>
<p><strong>1. Exibir o conteúdo de variáveis de ambiente</strong></p>
<p>Variáveis de ambiente, como $HOME, $USER e $PATH, contêm informações importantes sobre o sistema e o usuário atual. O echo é útil para acessar e mostrar esses valores rapidamente.</p>
<pre><strong>echo "Usuário atual: $USER"</strong>
<strong>echo "Diretório pessoal: $HOME"</strong>
<strong>echo "Caminho de busca: $PATH"</strong></pre>
<p>Saída:</p>
<pre><span style="color: #000000;"><strong>Usuário atual: nome_do_usuário</strong></span>
<span style="color: #000000;"><strong>Diretório pessoal: /home/nome_do_usuário</strong></span>
<span style="color: #000000;"><strong>Caminho de busca: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin</strong></span></pre>
<p><strong>2. Exibir o resultado de comandos embutidos</strong></p>
<p>O echo pode ser usado para exibir o resultado de outros comandos usando a <em>sintaxe de substituição</em> <strong>$(COMANDO):</strong></p>
<pre><strong>echo "Data atual: $(date)"</strong>
<strong>echo "Diretório atual: $(pwd)"</strong></pre>
<p>Saída:</p>
<pre><span style="color: #000000;"><strong>Data atual: Mon Oct 25 10:30:00 UTC 2024</strong></span>
<span style="color: #000000;"><strong>Diretório atual: /home/nome_do_usuário</strong></span></pre>
<p><strong>3. Escrever em um arquivo com echo</strong></p>
<p>O echo também pode ser usado para escrever conteúdo em arquivos. Para isso, simplesmente usamos o operador de redirecionamento &gt;:</p>
<pre><strong>echo "Texto de exemplo" &gt; exemplo.txt</strong></pre>
<p>Esse comando cria o arquivo exemplo.txt (ou o sobrescreve se ele já existir) e insere &#8220;Texto de exemplo&#8221; nele.</p>
<p>Para adicionar ao final do arquivo sem sobrescrevê-lo, usamos &gt;&gt;:</p>
<pre><strong>echo "Outra linha" &gt;&gt; exemplo.txt</strong></pre>
<p><strong>4. Usar o echo para criar quebras de linha e tabulações</strong></p>
<p>Quando queremos formatar a saída do terminal com espaços e quebras de linha, o echo com com a opção -e facilita essa tarefa. Podemos criar mensagens organizadas, como em tabelas simples:</p>
<pre><strong>echo -e "Produto\tQuantidade\tPreço"</strong>
<strong>echo -e "Caneta\t10\t\t1.50"</strong>
<strong>echo -e "Caderno\t5\t\t4.00"</strong></pre>
<p>Saída:</p>
<pre><span style="color: #000000;"><strong>Produto Quantidade Preço</strong></span>
<span style="color: #000000;"><strong>Caneta  10         $1.50</strong></span>
<span style="color: #000000;"><strong>Caderno 5          $4.00</strong></span></pre>
<h3>Conclusão</h3>
<p>O comando echo é uma ferramenta bastante usada para exibir informações no terminal e manipular texto. Com suas opções, ele permite criar saídas formatadas, armazenar dados em arquivos e acessar variáveis do sistema.</p>
<p>Esses recursos são úteis tanto no uso interativo quanto em scripts, permitindo uma comunicação clara e personalizada no terminal.</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/como-exibir-mensagens-com-o-comando-echo-no-terminal-do-linux/">Como exibir mensagens com o comando echo no terminal do Linux</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/como-exibir-mensagens-com-o-comando-echo-no-terminal-do-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Como criar menus com o comando SELECT em Shell Script</title>
		<link>https://www.bosontreinamentos.com.br/shell-script/como-criar-menus-com-o-comando-select-em-shell-script/</link>
					<comments>https://www.bosontreinamentos.com.br/shell-script/como-criar-menus-com-o-comando-select-em-shell-script/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Fri, 26 May 2023 11:10:33 +0000</pubDate>
				<category><![CDATA[Shell Scripting]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programação]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=19431</guid>

					<description><![CDATA[<p>Criar menus com Select em Shell Script Neste tutorial mostro como podemos usar o comando SELECT no Linux para criar menus interativos em Shell Script para que o usuário possa ver e escolher uma opção específica em uma lista, que executará uma função programada qualquer. Este comando se trata de uma construção de loop que exibe um menu numerado e aguarda a seleção do usuário para executar um código especificado. Sintaxe A sintaxe básica do comando SELECT é a seguinte: select ITEM in [LISTA] do [COMANDOS] done Onde LISTA pode ser uma sequência de strings separadas por espaços, a saída de um comando, um intervalo numérico, um array, etc. Podemos criar um prompt personalizado para o menu select usando a variável de ambiente PS3. Quando o bloco select é executado, cada item da lista é mostrado na tela, precedido por um número sequencial de identificação (&#8220;número do item&#8221;). Quando o usuário digita um desses números (&#8220;escolhe um item&#8221;), esse valor é armazenado na variável REPLY, e o valor da variável ITEM recebe o item. Um bloco de código pode ser associado a cada item que for escolhido, e será executado nesse momento. O select então realiza um loop e exibe [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/shell-script/como-criar-menus-com-o-comando-select-em-shell-script/">Como criar menus com o comando SELECT em Shell Script</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Criar menus com Select em Shell Script</h2>
<p>Neste tutorial mostro como podemos usar o comando SELECT no Linux para criar menus interativos em Shell Script para que o usuário possa ver e escolher uma opção específica em uma lista, que executará uma função programada qualquer.</p>
<p>Este comando se trata de uma construção de loop que exibe um menu numerado e aguarda a seleção do usuário para executar um código especificado.</p>
<h3>Sintaxe</h3>
<p>A sintaxe básica do comando SELECT é a seguinte:</p>
<pre><strong>select ITEM in [LISTA]</strong>
<strong>do</strong>
<strong>  [COMANDOS]</strong>
<strong>done</strong></pre>
<p>Onde LISTA pode ser uma sequência de strings separadas por espaços, a saída de um comando, um intervalo numérico, um array, etc.</p>
<p>Podemos criar um prompt personalizado para o menu select usando a variável de ambiente <strong>PS3</strong>.</p>
<p>Quando o bloco select é executado, cada item da lista é mostrado na tela, precedido por um número sequencial de identificação (&#8220;número do item&#8221;).</p>
<p>Quando o usuário digita um desses números (&#8220;escolhe um item&#8221;), esse valor é armazenado na variável REPLY, e o valor da variável ITEM recebe o item.</p>
<p>Um bloco de código pode ser associado a cada item que for escolhido, e será executado nesse momento. O select então realiza um loop e exibe novamente o menu, até que um comando break seja executado, encerrando o processo.</p>
<h3>Exemplos</h3>
<p>Vejamos um exemplo simples.</p>
<p><strong>Exemplo 01</strong></p>
<pre><strong>#!/bin/bash

</strong><strong>PS3="Escolha um número: "

</strong><strong>select autor in Asimov Clarke Herbert 'H. G. Wells' Tolkien Verne</strong>
<strong>do</strong>
<strong>  echo "Autor escolhido: $autor"</strong>
<strong>  echo "Número digitado: $REPLY"</strong>
<strong>done</strong></pre>
<p>Saída:</p>
<p><img decoding="async" class="aligncenter wp-image-19432" title="Menu com Comando SELECT em shell scripting - exemplo 01" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2023/05/select-exemplo-1-shell-script.jpg" alt="Menu com Comando SELECT em shell scripting - exemplo 01" width="449" height="244" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2023/05/select-exemplo-1-shell-script.jpg 477w, https://www.bosontreinamentos.com.br/wp-content/uploads/2023/05/select-exemplo-1-shell-script-420x228.jpg 420w" sizes="(max-width: 449px) 100vw, 449px" /></p>
<p>Este script irá exibir um menu que consiste nos nomes de autores com um número associado e o prompt definido na variável PS3. Quando o usuário digita um dos números, será impresso na tela o autor correspondente e seu número respectivo.</p>
<p>Note que o autor H. G. Wells foi colocado entre aspas, pois como o espaço é usado como separador de itens pelo select, seu nome (que contém espaços) seria interpretado de forma incorreta ao exibir o menu.</p>
<p>Para encerrar esse programa é necessário pressionar Ctrl+C, pois ainda não programamos uma rotina de saída com a instrução break, o que faremos no próximo exemplo.</p>
<p><strong>Exemplo 02</strong></p>
<p>No exemplo a seguir vamos criar um menu com opções de gerenciamento de pacotes que o usuário pode escolher, incluindo atualização das listas de repositórios, instalação de pacotes no sistema e manutenção do cache:</p>
<pre><strong>PS3="O que deseja fazer? "</strong>
<strong>select opcao in Atualizar Instalar 'Ver Cache' 'Limpar Cache' Sair</strong>
<strong>do</strong>
<strong>  case $opcao in</strong>
<strong>    Atualizar)</strong>
<strong>      sudo apt update</strong>
<strong>      ;;</strong>
<strong>    Instalar)</strong>
<strong>      read -p "Qual pacote deseja instalar? " pacote</strong>
<strong>      sudo apt install $pacote</strong>
<strong>    ;;</strong>
<strong>    'Ver Cache')</strong>
<strong>      ls /var/cache/apt/archives/</strong>
<strong>      ;;</strong>
<strong>    'Limpar Cache')</strong>
<strong>      sudo apt clean</strong>
<strong>      ;;</strong>
<strong>    Sair)</strong>
<strong>      break</strong>
<strong>      ;;</strong>
<strong>    *) </strong>
<strong>      echo "A opção $REPLY é inválida"</strong>
<strong>    ;;</strong>
<strong>  esac</strong>
<strong>done</strong></pre>
<p>Neste exemplo usamos uma estrutura CASE para programar cada caso que o usuário pode vir a escolher, e incluímos uma opção para sair do menu e uma opção para tratar a escolha de um valor inválido, usando a variável de ambiente $REPLY.</p>
<h3>Conclusão</h3>
<p>Neste tutorial mostrei como usar, de forma simples, o comando &#8220;select&#8221; para criar menus interativos em Shell Script. Outras opções existem para esta tarefa, como as caixas de diálogo &#8220;<a href="http://www.bosontreinamentos.com.br/shell-script/shell-scripting-criando-caixas-de-dialogo-tui-com-dialog/">dialog</a>&#8221; e &#8220;<a href="http://www.bosontreinamentos.com.br/shell-script/shell-scripting-criando-caixas-de-dialogo-tui-com-whiptail-no-linux-27/">whiptail</a>&#8220;, e o emprego de bibliotecas externas como &#8220;ncurses&#8221;, &#8220;newt&#8221; e &#8220;<a href="http://www.bosontreinamentos.com.br/shell-script/zenity-exibindo-caixas-de-dialogo-com-scripts-do-shell-no-linux/">zenity</a>&#8220;, entre outras, que são abordadas em outros tutoriais aqui no site.</p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/shell-script/como-criar-menus-com-o-comando-select-em-shell-script/">Como criar menus com o comando SELECT em Shell Script</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/shell-script/como-criar-menus-com-o-comando-select-em-shell-script/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Formatar e exibir texto com o comando printf no terminal e em scripts</title>
		<link>https://www.bosontreinamentos.com.br/shell-script/formatar-e-exibir-texto-com-o-comando-printf-no-terminal-e-em-scripts/</link>
					<comments>https://www.bosontreinamentos.com.br/shell-script/formatar-e-exibir-texto-com-o-comando-printf-no-terminal-e-em-scripts/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Wed, 17 May 2023 17:50:25 +0000</pubDate>
				<category><![CDATA[Shell Scripting]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programação]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=19387</guid>

					<description><![CDATA[<p>Formatar e exibir texto com o comando printf em Shell Scripting e no Terminal do Linux O comando printf  no Linux é uma ferramenta interna (built-in) do shell Bash e de outros como Ksh e Zsh que permite formatar e exibir uma saída de texto. Este comando é útil para exibir informações em um formato específico no terminal, como por exemplo tabelas e relatórios. Sintaxe A sintaxe básica do comando &#8220;printf&#8221; é a seguinte: $ printf FORMATO [ARGUMENTOS] onde FORMATO é a string de formato que especifica como a saída será exibida, podendo conter caracteres normais a serem impressos na saída, caracteres de escape, flags e especificações de conversão, para descrição do formato da saída. Os ARGUMENTOS (opcionais) são passados para os especificadores de formato e correspondem aos valores que serão exibidos de acordo com o formato especificado. Exemplo: $ printf "Dia da semana: %s\nHorário: %s\n" Sábado 11:00 Saída: Dia da semana: Sábado Horário: 11:00 Neste exemplo, o formato é a string Dia da semana: %s\nHorário: %s\n ao passo que &#8220;Sábado&#8221; e &#8220;11:00&#8221; são os argumentos. A string de formato possui caracteres de quebra de linha \n e dois especificadores de formato %s, que são substituídos pelos argumentos. Caracteres de [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/shell-script/formatar-e-exibir-texto-com-o-comando-printf-no-terminal-e-em-scripts/">Formatar e exibir texto com o comando printf no terminal e em scripts</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Formatar e exibir texto com o comando printf em Shell Scripting e no Terminal do Linux</h2>
<p>O comando <em><strong>printf</strong></em>  no Linux é uma ferramenta interna (<em>built-in</em>) do <a href="http://www.bosontreinamentos.com.br/curso-de-shell-scripting/">shell Bash</a> e de outros como Ksh e Zsh que permite formatar e exibir uma saída de texto.</p>
<p>Este comando é útil para exibir informações em um formato específico no terminal, como por exemplo tabelas e relatórios.</p>
<h3>Sintaxe</h3>
<p>A sintaxe básica do comando &#8220;printf&#8221; é a seguinte:</p>
<pre><span style="color: #800080;"><strong>$ printf FORMATO [ARGUMENTOS]</strong></span></pre>
<p>onde <strong>FORMATO</strong> é a string de formato que especifica como a saída será exibida, podendo conter caracteres normais a serem impressos na saída, caracteres de escape, flags e especificações de conversão, para descrição do formato da saída.</p>
<p>Os <strong>ARGUMENTOS</strong> (opcionais) são passados para os especificadores de formato e correspondem aos valores que serão exibidos de acordo com o formato especificado.</p>
<p>Exemplo:</p>
<pre><strong>$ printf "Dia da semana: %s\nHorário: %s\n" Sábado 11:00</strong></pre>
<p>Saída:</p>
<pre><strong><span style="color: #ff6600;">Dia da semana: Sábado</span></strong>
<strong><span style="color: #ff6600;">Horário: 11:00</span></strong></pre>
<p>Neste exemplo, o formato é a string <strong>Dia da semana: %s\nHorário: %s\n</strong> ao passo que <strong>&#8220;Sábado&#8221;</strong> e <strong>&#8220;11:00&#8221;</strong> são os argumentos. A string de formato possui caracteres de quebra de linha \n e dois especificadores de formato %s, que são substituídos pelos argumentos.</p>
<h3>Caracteres de Escape</h3>
<p>Os caracteres de escape mais comuns usados com printf são:</p>
<ul>
<li>\\ &#8211; Mostra um caractere de barra invertida</li>
<li>\b &#8211; Backspace</li>
<li>\n &#8211; Nova linha (quebra de linha)</li>
<li>\r &#8211; Retorno de carro</li>
<li>\t &#8211; Tabulação horizontal</li>
<li>\v &#8211; Tabulação vertical</li>
</ul>
<h3>Especificações de formato</h3>
<p>Uma especificação de formato tem a seguinte sintaxe:</p>
<pre><span style="color: #800080;"><strong>%[flags][largura][.precisão]especificador</strong></span></pre>
<p>O especificador é um caractere que especifica como deve ser feita a interpretação do argumento correspondente. Este é um caractere obrigatório, sempre posicionado após os outros campos (diretivas, que são opcionais).</p>
<p>A seguir temos uma lista com alguns tipos de especificadores de conversão:</p>
<ul>
<li>%d &#8211; Imprime o argumento no formato de um inteiro decimal com sinal</li>
<li>%i &#8211; Idem ao %d</li>
<li>%u &#8211; Formato de um inteiro decimal sem sinal</li>
<li>%o &#8211; Formato de um inteiro octal sem sinal</li>
<li>%x &#8211; Formato de um inteiro hexadecimal sem sinal, com letras minúsculas</li>
<li>%X &#8211; Idem %x, porém com letras maiúsculas</li>
<li>%e &#8211; Formato de ponto flutuante em notação exponencial, com letras minúsculas</li>
<li>%E &#8211; Idem %e, porém com letras maiúsculas</li>
<li>%g, %G &#8211; Imprime o argumento com um número de ponto flutuante ou em notação exponencial, o que for mais adequado dependendo do valor e precisão fornecidos. $g imprime letras minúsculas e %G, maiúsculas.</li>
<li>%c &#8211; Imprime o argumento com um caractere único</li>
<li>%f &#8211; Formato de número de ponto flutuante.</li>
<li>%s &#8211; Imprime o argumento como string</li>
<li>%% &#8211; Imprime o símbolo literal %</li>
</ul>
<p>Por exemplo, podemos imprimir um valor numérico em <a href="http://www.bosontreinamentos.com.br/eletronica/eletronica-digital/curso-de-eletronica-digital-sistemas-de-numeracao/">sistemas de numeração</a> diferentes da seguinte forma:</p>
<pre><strong>$ printf "Decimal: %d\nHex: %x\nOctal: %o\n" 32 32 32</strong></pre>
<p>Saída:</p>
<pre><span style="color: #ff6600;"><strong>Decimal: 32</strong></span>
<span style="color: #ff6600;"><strong>Hex: 20</strong></span>
<span style="color: #ff6600;"><strong>Octal: 40</strong></span></pre>
<p>No exemplo o número inteiro 32 é impresso nos sistemas decimal, hexadecimal e octal, respectivamente, pelo uso dos especificadores %d, %x e %o.</p>
<h3>Diretiva de <em>flags</em></h3>
<p>A diretiva de flags (opcional) é empregada para realizar o ajuste de alinhamento, prefixos, preenchimento de zeros, etc.</p>
<p>Algumas das flags mais comuns incluem:</p>
<ul>
<li>&#8211; Alinha o texto impresso à esquerda dentro do campo &#8211; por padrão, o texto é alinhado à direita.</li>
<li>+ Precede os números exibidos com um sinal de + (números negativos são precedidos automaticamente por um sinal de -)</li>
<li>0 Preenche com zeros em vez de espaços em branco</li>
</ul>
<h3>Diretiva <em>largura</em></h3>
<p>A diretiva de largura é posicionada após qualquer caractere de flag, e especifica o número mínimo de caracteres que devem resultar na conversão.</p>
<p>Se a string de saída for menor que a largura especificada, será automaticamente preenchida com espaços em branco à esquerda. Vejamos um exemplo:</p>
<pre><strong>$ printf "%15s %d\n" Fábio 45</strong></pre>
<p>Saída:</p>
<pre><span style="color: #ff6600;"><strong>            Fábio 45</strong></span></pre>
<p>Neste exemplo %15s significa que a largura deve ser de 15 caracteres. Como os valores &#8220;Fábio&#8221; e 305 possuem menos de 15 caracteres quando combinados, espaços à esquerda serão adicionados até completar essa largura ao exibir o resultado.</p>
<p>A saída é alinhada à direita por padrão; podemos alinhá-la á esquerda com o flag &#8211; (<strong>%-15s</strong>).</p>
<h3>Diretiva de <em>precisão</em></h3>
<p>Esse modificador consiste em um ponto (.) seguido por um número inteiro positivo ou um asterisco, usados para ajustar a quantidade de caracteres numéricos, de string, ou a quantidade de casas decimais a serem mostradas.</p>
<p>A precisão funciona da seguinte forma:</p>
<ul>
<li>Se o tipo de conversão for um número inteiro, a precisão irá especificar a quantidade mínima de dígitos a serem impressos, acrescentando zeros à direita se necessário.</li>
<li>Caso o tipo de conversão seja um número de ponto flutuante, a precisão irá especificar a quantidade de dígitos após o caractere de separação decimal (ou seja, as casas decimais). A precisão padrão é 6.</li>
<li>E se o tipo da conversão for uma string, a precisão irá especificar o número máximo de caracteres a serem impressos. caso o número de caracteres no argumento seja maior que a precisão, a string será truncada (cortada).</li>
</ul>
<p>Vejamos um exemplo:</p>
<pre><strong>$ printf "O valor de pi é %.4f \n" 3,14159265359</strong></pre>
<p>Saída:</p>
<pre><span style="color: #ff6600;"><strong>O valor de pi é 3,1416</strong></span></pre>
<p>Note que o valor foi arredondado para 3,1416.</p>
<p>Se usarmos um asterisco, o valor da precisão será fornecido por um argumento de precisão que precede o argumento a ser formatado. Modificando o exemplo anterior teríamos:</p>
<pre><strong>$ printf "O valor de pi é %.*f" 4 3,14159265359</strong></pre>
<p>Saída:</p>
<pre><span style="color: #ff6600;"><strong>O valor de pi é 3.1416</strong></span></pre>
<h3>Exemplos de uso do comando printf em scripts</h3>
<p>Vejamos agora exemplos de como usar o comando printf em scripts do shell Bash, para formatar a saída de dados exibida no terminal.</p>
<h4>Exemplo 01</h4>
<pre><span style="color: #339966;"><strong>#!/bin/bash</strong></span>
<strong>printf "%s" "Qual seu nome completo?"</strong>
<strong>IFS= read -r nome_completo</strong>
<strong>printf "%s" "Qual sua idade?"</strong>
<strong>read idade</strong>
<strong>printf "Nome: %s\nIdade: %d\n" $nome_completo $idade</strong></pre>
<p>Neste exemplo, o comando &#8220;printf&#8221; é usado para formatar a saída do script com o nome e a idade fornecidos por uma pessoa. A string de formato especifica que o primeiro argumento deve ser exibido como uma string (&#8220;%s&#8221;) e o segundo como um número inteiro (&#8220;%d&#8221;).</p>
<p>No exemplo acima, o IFS= redefine a variável IFS para que nenhum caractere seja interpretado como separador de campo. Em seguida, o comando read é usado para ler a entrada do usuário e armazená-la na variável &#8220;nome_completo&#8221;.</p>
<h4>Exemplo 02</h4>
<p>Vejamos outro exemplo de uso do comando &#8220;printf&#8221;:</p>
<pre><span style="color: #339966;"><strong>#!/bin/bash</strong></span>
<strong>printf "%-15s %5s\n" "Nome" "Idade"</strong>
<strong>printf "%-15s %5d\n" "João" 30</strong>
<strong>printf "%-15s %5d\n" "Maria" 25</strong></pre>
<p>Neste exemplo, o comando &#8220;printf&#8221; é usado para exibir uma tabela com o nome e a idade de duas pessoas. A string de formato especifica que o primeiro argumento deve ser exibido como uma string com largura de 15 caracteres e alinhado à esquerda (&#8220;<strong>%15s</strong>&#8220;) e o segundo como um número inteiro com largura de 5 caracteres e alinhado à direita (&#8220;<strong>%5d</strong>&#8220;).</p>
<h3>Conclusão</h3>
<p>O comando <strong>printf</strong> pode ser combinado com outras ferramentas do Bash Shell (e outros shells) para criar scripts mais avançados, como loops e condicionais. O importante é entender como o comando funciona e como ele pode ser usado para formatar e exibir uma saída de texto.</p>
<p><a href="http://www.bosontreinamentos.com.br/todos-os-posts-da-boson-treinamentos-em-ordem-cronologica/">Lista com todos os artigos da Bóson Treinamentos</a></p>
<p>O post <a href="https://www.bosontreinamentos.com.br/shell-script/formatar-e-exibir-texto-com-o-comando-printf-no-terminal-e-em-scripts/">Formatar e exibir texto com o comando printf no terminal e em scripts</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/shell-script/formatar-e-exibir-texto-com-o-comando-printf-no-terminal-e-em-scripts/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Ler entrada de dados com comando read em Shell Scripting</title>
		<link>https://www.bosontreinamentos.com.br/shell-script/ler-entrada-de-dados-com-comando-read-em-shell-scripting/</link>
					<comments>https://www.bosontreinamentos.com.br/shell-script/ler-entrada-de-dados-com-comando-read-em-shell-scripting/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Fri, 05 May 2023 13:18:56 +0000</pubDate>
				<category><![CDATA[Shell Scripting]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programação]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=19379</guid>

					<description><![CDATA[<p>Ler entrada de dados com comando read em Shell Scripting O comando read é uma ferramenta do Bash Shell Scripting que permite ao script ler uma entrada de dados do teclado digitada pelo usuário e armazená-la em uma variável para processamento. Esse comando é útil para solicitar ao usuário informações que precisam ser fornecidas durante a execução de um script, como um nome de arquivo, senha ou número de identificação, entre outros. Sintaxe A sintaxe básica do comando read é a seguinte: read [opções] nome_variavel Onde &#8220;opções&#8221; são as opções do comando e &#8220;nome_variavel&#8221; é o nome da variável na qual o valor digitado pelo usuário será armazenado. A seguir, são listadas algumas opções comuns do comando read: -p: permite especificar uma mensagem para ser exibida antes da entrada de dados (string de prompt). -n: permite limitar o número de caracteres que podem ser digitados, ou seja, define o número máximo de caracteres que o comando read lerá. -s: permite ocultar a entrada de dados, como ao digitar uma senha ou outras informações confidenciais. -r: Impede que o comando read interprete caracteres de escape (como &#8221;, &#8216;\n&#8217; e &#8216;\t&#8217;) como comandos especiais. Útil quando você deseja ler arquivos de texto [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/shell-script/ler-entrada-de-dados-com-comando-read-em-shell-scripting/">Ler entrada de dados com comando read em Shell Scripting</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Ler entrada de dados com comando read em Shell Scripting</h2>
<p>O comando <strong>read</strong> é uma ferramenta do <a href="http://www.bosontreinamentos.com.br/curso-de-shell-scripting/">Bash Shell Scripting</a> que permite ao script ler uma entrada de dados do teclado digitada pelo usuário e armazená-la em uma variável para processamento.</p>
<p>Esse comando é útil para solicitar ao usuário informações que precisam ser fornecidas durante a execução de um script, como um nome de arquivo, senha ou número de identificação, entre outros.</p>
<h3>Sintaxe</h3>
<p>A sintaxe básica do comando read é a seguinte:</p>
<pre><span style="color: #800080;"><strong>read [opções] nome_variavel</strong></span></pre>
<p>Onde &#8220;opções&#8221; são as opções do comando e &#8220;nome_variavel&#8221; é o nome da variável na qual o valor digitado pelo usuário será armazenado.</p>
<p>A seguir, são listadas algumas opções comuns do comando read:</p>
<ul>
<li><strong>-p</strong>: permite especificar uma mensagem para ser exibida antes da entrada de dados (string de prompt).</li>
<li><strong>-n</strong>: permite limitar o número de caracteres que podem ser digitados, ou seja, define o número máximo de caracteres que o comando read lerá.</li>
<li><strong>-s</strong>: permite ocultar a entrada de dados, como ao digitar uma senha ou outras informações confidenciais.</li>
<li><strong>-r</strong>: Impede que o comando read interprete caracteres de escape (como &#8221;, &#8216;\n&#8217; e &#8216;\t&#8217;) como comandos especiais. Útil quando você deseja ler arquivos de texto brutos.</li>
<li><strong>-a</strong>: Lê a entrada do usuário em um array.</li>
</ul>
<h3>Exemplos de uso do comando read</h3>
<p>Vejamos alguns exemplos de uso do comando read em scripts simples do shell.</p>
<p><strong>Exemplo 1.</strong> Vamos criar um arquivo de texto de nome &#8220;teste.sh&#8221; e digitar o código a seguir neste arquivo:</p>
<pre><strong>#!/bin/bash</strong>
<strong>echo "Qual é o seu nome?"</strong>
<strong>read nome</strong>
<strong>echo "Olá, $nome!"</strong></pre>
<p>Neste exemplo, o usuário é solicitado a digitar seu nome e a entrada é armazenada na variável &#8220;nome&#8221;. Em seguida, o script exibe uma mensagem de boas-vindas com o nome fornecido.</p>
<p>Para testar, salve e feche o arquivo, e dê permissão de execução ao arquivo no terminal:</p>
<pre><strong>$ chmod u+x teste.sh</strong></pre>
<p>E então rode o script:</p>
<pre><strong>$ ./teste.sh</strong></pre>
<p><strong>Exemplo 2.</strong> Também é possível usar o comando read para solicitar várias informações de uma vez só, separando as variáveis com espaços ou vírgulas. Vamos alterar o script teste.sh para pedir o primeiro nome e a idade do usuário:</p>
<pre><strong>#!/bin/bash</strong>
<strong>read -p "Digite seu primeiro nome e idade: " nome idade</strong>
<strong>echo "Seu nome é $nome e você tem $idade anos."</strong></pre>
<p>Neste exemplo, o usuário é solicitado a digitar seu nome e sua idade, em sequência (pressionando enter somente no final) que são armazenados nas variáveis correspondentes.<br />
Em seguida, o script exibe uma mensagem com as informações fornecidas pelo usuário.</p>
<p><strong>Exemplo 3.</strong> Podemos ler dados sensíveis no terminal, como senhas, sem que sejam exibidas durante a digitação. Para isso usamos a opção -s do comando read, como mostra o exemplo a seguir:</p>
<pre><strong>#!/bin/bash</strong>
<strong>read -p "Digite seu nome de usuário: " nome</strong>
<strong>read -s -p "Entre com sua senha: " senha</strong>
<strong>echo -e "\nBem-vindo ao sistema, $nome!."</strong>
<strong>echo -e "\nA senha escolhida foi $senha."</strong></pre>
<p><strong>Exemplo 4.</strong> Por padrão, o comando read em shell scripting interpreta um espaço como um separador de campo e, portanto, interrompe a leitura da string assim que encontrar um espaço.</p>
<p>Para ler uma string que contém espaços, é necessário ajustar o separador de campo para que o comando read reconheça a entrada do usuário como uma única string. Podemos fazer isso usando a variável de ambiente <strong>IFS</strong> (<em>Internal Field Separator</em>) do shell:</p>
<pre><strong>echo "Digite seu nome completo:"</strong>
<strong>IFS= read -r nome_completo</strong>
<strong>echo "Seu nome completo é $nome_completo"</strong></pre>
<p>No exemplo acima, o IFS= redefine a variável IFS para que nenhum caractere seja interpretado como separador de campo. Em seguida, o comando read é usado para ler a entrada do usuário e armazená-la na variável &#8220;nome_completo&#8221;.</p>
<p>Finalmente, a string digitada pelo usuário é exibida na tela usando o comando echo.</p>
<p>Com isso, o comando read irá ler a entrada do usuário até que a tecla &#8220;Enter&#8221; seja pressionada, permitindo que o usuário digite seu nome completo, mesmo com espaços em branco.</p>
<h3>Conclusão</h3>
<p>O comando read pode ser combinado com outras ferramentas do shell Bash para criar scripts mais avançados, como loops e condicionais. O importante é entender como o comando funciona e como ele pode ser usado para interagir com o usuário.</p>
<p>Para saber mais sobre o comando read e conhecer todas as suas opções, consulte as páginas de manual do comando com <em><strong>man read</strong></em>.</p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/shell-script/ler-entrada-de-dados-com-comando-read-em-shell-scripting/">Ler entrada de dados com comando read em Shell Scripting</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/shell-script/ler-entrada-de-dados-com-comando-read-em-shell-scripting/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>O que significa 3&gt;&#038;1 1&gt;&#038;2 2&gt;&#038;3 em um script do Shell no Linux?</title>
		<link>https://www.bosontreinamentos.com.br/shell-script/o-que-significa-31-12-23-em-um-script-do-shell-no-linux/</link>
					<comments>https://www.bosontreinamentos.com.br/shell-script/o-que-significa-31-12-23-em-um-script-do-shell-no-linux/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Mon, 20 Aug 2018 12:25:27 +0000</pubDate>
				<category><![CDATA[Shell Scripting]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=13112</guid>

					<description><![CDATA[<p>O que significa 3&#62;&#38;1 1&#62;&#38;2 2&#62;&#38;3?  Em muitos de nossos scripts temos utilizado a sequência de caracteres 3&#62;&#38;1 1&#62;&#38;2 2&#62;&#38;3. Mas o que significam esses caracteres exatamente, e quando devemos empregá-los? Bem, os números representam os descritores de arquivos (file descriptors), dos quais existem três padronizados no Linux: 0 &#8211; STDIN (a entrada padrão) 1 &#8211; STDOUT (a saída padrão) 2 &#8211; STDERR (o erro padrão) Os descritores de arquivos podem ser redirecionados para um arquivo, com o uso do símbolo &#62;, ou ainda para outro descritor de arquivo, com o uso de &#62;&#38;. Desta forma, temos três redirecionamentos ocorrendo no exemplo: 3&#62;&#38;1 &#8211; Cria um novo descritor de arquivos e o redireciona para a saída padrão (1) 1&#62;&#38;2 &#8211; Redireciona a saída padrão para o erro padrão (2) 2&#62;&#38;3 &#8211; Redireciona o erro padrão para o descritor criado, que agora irá redirecionar para a saída padrão. Portanto, se nosso script escrever algo no descritor 2, os dados serão redirecionados para o descritor 1, e vice-versa. Alguns comandos escrevem informações no descritor STDERR, e com o uso desses redirecionamentos podemos encaminhar os dados para a saída padrão, de modo que o usuário possa visualizá-los. Aqui temos um exemplo de uso em [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/shell-script/o-que-significa-31-12-23-em-um-script-do-shell-no-linux/">O que significa 3&gt;&#038;1 1&gt;&#038;2 2&gt;&#038;3 em um script do Shell no Linux?</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>O que significa 3&gt;&amp;1 1&gt;&amp;2 2&gt;&amp;3? </h2>
<p>Em muitos de nossos scripts temos utilizado a sequência de caracteres <strong>3&gt;&amp;1 1&gt;&amp;2 2&gt;&amp;3</strong>. Mas o que significam esses caracteres exatamente, e quando devemos empregá-los?</p>
<p>Bem, os números representam os <em><strong>descritores de arquivos</strong></em> (file descriptors), dos quais existem três padronizados no Linux:</p>
<ul>
<li>0 &#8211; STDIN (a entrada padrão)</li>
<li>1 &#8211; STDOUT (a saída padrão)</li>
<li>2 &#8211; STDERR (o erro padrão)</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-13113 size-full" title="Descritores de arquivos no Linux" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2018/08/descritores-arquivos-linux-shell.png" alt="Descritores de arquivos no Linux" width="299" height="121" /></p>
<p>Os descritores de arquivos podem ser redirecionados para um arquivo, com o uso do símbolo <strong>&gt;</strong>, ou ainda para outro descritor de arquivo, com o uso de <strong>&gt;&amp;</strong>.</p>
<p>Desta forma, temos três redirecionamentos ocorrendo no exemplo:</p>
<p><strong>3&gt;&amp;1</strong> &#8211; Cria um novo descritor de arquivos e o redireciona para a saída padrão (1)</p>
<p><strong>1&gt;&amp;2</strong> &#8211; Redireciona a saída padrão para o erro padrão (2)</p>
<p><strong>2&gt;&amp;3</strong> &#8211; Redireciona o erro padrão para o descritor criado, que agora irá redirecionar para a saída padrão.</p>
<p>Portanto, se nosso script escrever algo no descritor 2, os dados serão redirecionados para o descritor 1, e vice-versa. Alguns comandos escrevem informações no descritor <strong>STDERR</strong>, e com o uso desses redirecionamentos podemos encaminhar os dados para a saída padrão, de modo que o usuário possa visualizá-los.</p>
<p>Aqui temos um exemplo de uso em um script do shell: <a href="http://www.bosontreinamentos.com.br/shell-script/shell-scripting-criando-caixas-de-dialogo-tui-com-whiptail-no-linux-27/" target="_blank" rel="noopener"><strong>comando whiptail </strong></a>(veja o exemplo de número 6).</p>
<p>Você pode aprender mais sobre os redirecionamentos e os descritores de arquivos assistindo ao vídeo da Bóson Treinamentos a seguir:</p>
<p><iframe loading="lazy" src="https://www.youtube.com/embed/H9J_JG9oxl4" width="640" height="480" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/shell-script/o-que-significa-31-12-23-em-um-script-do-shell-no-linux/">O que significa 3&gt;&#038;1 1&gt;&#038;2 2&gt;&#038;3 em um script do Shell no Linux?</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/shell-script/o-que-significa-31-12-23-em-um-script-do-shell-no-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Lista de atalhos de teclado do Shell Bash</title>
		<link>https://www.bosontreinamentos.com.br/linux/lista-concisa-de-atalhos-do-shell-bash/</link>
					<comments>https://www.bosontreinamentos.com.br/linux/lista-concisa-de-atalhos-do-shell-bash/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Mon, 14 May 2018 14:39:54 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Shell Scripting]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=11886</guid>

					<description><![CDATA[<p>Atalhos de teclado do Shell Bash &#8211; Cheat sheet Por Fábio dos Reis O shell Bash é, sem dúvidas, o mais comum e utilizado em ambientes Linux e Unix. Por conta disso, o domínio de sua utilização é muito importante para que o administrador do sistema, ou mesmo usuário comum, possa trabalhar com eficiência e alta performance. Neste artigo trazemos uma série de atalhos de teclado do bash, que permitem ao usuário operar com muito mais facilidade e agilidade em uma série de tarefas triviais e também complexas. Vamos aos atalhos, separados por categorias de aplicação dos comandos: Edição na linha de comandos: Ctrl + a Voltar para o início da linha de comandos Ctrl + e Ir para o final da linha de comandos Ctrl + k Apagar caracteres a partir da posição do cursor até o final da linha de comandos Ctrl + u Apagar caracteres a partir da posição do cursor até o início da linha de comandos Ctrl + w Apagar caracteres a partir da posição do cursor até o início da palavra &#8211; apaga uma palavra Ctrl + y Cola uma palavra ou texto que foi recortada usando um atalho de exclusão após o cursor [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/lista-concisa-de-atalhos-do-shell-bash/">Lista de atalhos de teclado do Shell Bash</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Atalhos de teclado do Shell Bash &#8211; Cheat sheet</h2>
<p><em>Por Fábio dos Reis</em></p>
<p>O shell Bash é, sem dúvidas, o mais comum e utilizado em ambientes Linux e Unix. Por conta disso, o domínio de sua utilização é muito importante para que o administrador do sistema, ou mesmo usuário comum, possa trabalhar com eficiência e alta performance.</p>
<p>Neste artigo trazemos uma série de atalhos de teclado do bash, que permitem ao usuário operar com muito mais facilidade e agilidade em uma série de tarefas triviais e também complexas.</p>
<p>Vamos aos atalhos, separados por categorias de aplicação dos comandos:</p>
<h3>Edição na linha de comandos:</h3>
<p>Ctrl + a<br />
 Voltar para o início da linha de comandos</p>
<p>Ctrl + e<br />
 Ir para o final da linha de comandos</p>
<p>Ctrl + k<br />
 Apagar caracteres a partir da posição do cursor até o final da linha de comandos</p>
<p>Ctrl + u<br />
 Apagar caracteres a partir da posição do cursor até o início da linha de comandos</p>
<p>Ctrl + w<br />
 Apagar caracteres a partir da posição do cursor até o início da palavra &#8211; apaga uma palavra</p>
<p>Ctrl + y<br />
 Cola uma palavra ou texto que foi recortada usando um atalho de exclusão após o cursor</p>
<p>Ctrl + xx<br />
 Mover o cursor entre o início da lnha de comandos e a posição atual dele, ida e volta.</p>
<p>Alt + b<br />
 Mover o cursor uma palavra para trás (direção do início da linha de comandos), ou ir para o início da palavra onde o cursor está posicionado atualmente.</p>
<p>Alt + f<br />
 Mover o cursor uma palavra para frente (direção do final da linha de comandos), ou ir para o final da palavra onde o cursor está posicionado atualmente.</p>
<p>Alt + d<br />
 Exclui os caracteres até o final da palavra, iniciando na posição atual do cursor, o que significa a palavra inteira se o cursor estiver no início da palavra</p>
<p>Alt + c<br />
 Capitalizar (tornar maiúscula) o caractere onde o cursor está posicionado, e mover o cursor para o final da palavra.</p>
<p>Alt + u<br />
 Colocar os caracteres em caixa alta (maiúsculas) a partir da posição do cursor até o final da palavra</p>
<p>Alt + l<br />
 Colocar os caracteres em caixa baixa (minúsculas) a partir da posição do cursor até o final da palavra</p>
<p>Alt + t<br />
 Trocar a palavra atual com a anterior</p>
<p>Ctrl + f<br />
 Mover o cursor um caractere adiante</p>
<p>Ctrl + b<br />
 Mover o cursor um caractere para trás</p>
<p>Ctrl + d<br />
 Apaga o caractere sob o cursor</p>
<p>Ctrl + h<br />
 Apaga o caractere anterior á posição do cursor</p>
<p>Ctrl + t<br />
 Troca o caractere sob o cursor com o caractere anterior a ele</p>
<h3>Trabalhando com o histórico:</h3>
<p>Ctrl + r<br />
 Procurar os comandos anteriores do histórico (busca reversa)</p>
<p>Ctrl + g<br />
 Sair do modo de busca do histórico</p>
<p>Ctrl + p<br />
 Mostra o comando anterior no histórico (volta no histórico) -&gt; similar à seta para cima</p>
<p>Ctrl + n<br />
 Mostra o comando posterior no histórico (avança no histórico) -&gt; similar à seta para baixo</p>
<p>Alt + .<br />
 Usar a última palavra do comando anterior</p>
<h3>Controle de comandos:</h3>
<p>Ctrl + l<br />
 Limpa a tela</p>
<p>Ctrl + s<br />
 Interrompe a saída na tela, para comandos que exibem saída verbosa muito longa.</p>
<p>Ctrl + q<br />
 Permite a saída na tela, caso tenha sido interrompida com Ctrl + s</p>
<p>Ctrl + c<br />
 Finaliza o comando em execução atualmente</p>
<p>Ctrl + z<br />
 Suspende ou interrompe a execução do comando</p>
<h3>Comandos Bang do Bash (reexecução de comandos):</h3>
<p>!!<br />
 Executa novamente o último comando</p>
<p>!xyz<br />
 Executa novamente o comando mais recente que se inicia com os caracteres &#8216;xyz&#8217;</p>
<p>!xyz:p<br />
 Mostra o comando que !xyz iria rodar (mas sem execuá-lo), adicionando-o ao final da lista de comandos do histórico.</p>
<p>!$<br />
 Usar a última palavra do comando anterior (o mesmo que Alt + .)</p>
<p>!$:p<br />
 Mostra a palavra que a sequência !$ iria substituir, mas sem executar o comando.</p>
<p><strong>Espero que esta listagem de atalhos de teclado do shell bash lhes seja útil. Até mais!</strong></p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/lista-concisa-de-atalhos-do-shell-bash/">Lista de atalhos de teclado do Shell Bash</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/linux/lista-concisa-de-atalhos-do-shell-bash/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Zenity &#8211; Exibindo caixas de diálogo com scripts do Shell no Linux</title>
		<link>https://www.bosontreinamentos.com.br/shell-script/zenity-exibindo-caixas-de-dialogo-com-scripts-do-shell-no-linux/</link>
					<comments>https://www.bosontreinamentos.com.br/shell-script/zenity-exibindo-caixas-de-dialogo-com-scripts-do-shell-no-linux/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Mon, 17 Oct 2016 13:26:35 +0000</pubDate>
				<category><![CDATA[Shell Scripting]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programação]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=8273</guid>

					<description><![CDATA[<p>Zenity &#8211; Exibindo caixas de diálogo com scripts do Shell O Zenity é um software que permite criar diversos tipos de caixas de diálogo simples para interação com os usuários em um ambiente Linux, que podem ser utilizadas em scripts do shell. Por exemplo, podemos criar um diálogo para obter informações do usuário, como uma data em um calendário ou um valor numérico em uma caixa de texto, ou ainda criar diálogos para exibir informações, como uma barra de progresso para mostrar o status de uma operação, ou caixas de aviso e de erro. O Zenity utiliza o GTK, conjunto de bibliotecas utilizado para a construção de interfaces gráficas. Por padrão, ele vem instalado na grande maioria das distribuições Linux, de modo que seja provável que o programa já esteja presente em sua distro. Verifique a presença do programa emitindo o comando  seguir no terminal: zenity --version Se o programa estiver instalado, será exibida a versão do programa. A versão mais recente é a 3.22.0 (na data de elaboração deste tutorial). Caso contrário, instale-o usando os seguintes comandos: Sistemas Debian / Ubuntu: sudo apt-get install zenity Sistemas Red Hat / CentOS: yum install zenity Sintaxe A sintaxe básica para uso do programa é a [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/shell-script/zenity-exibindo-caixas-de-dialogo-com-scripts-do-shell-no-linux/">Zenity &#8211; Exibindo caixas de diálogo com scripts do Shell no Linux</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Zenity &#8211; Exibindo caixas de diálogo com scripts do Shell</h2>
<p>O <strong>Zenity</strong> é um software que permite criar diversos tipos de caixas de diálogo simples para interação com os usuários em um ambiente Linux, que podem ser utilizadas em scripts do shell.</p>
<p>Por exemplo, podemos criar um diálogo para obter informações do usuário, como uma data em um calendário ou um valor numérico em uma caixa de texto, ou ainda criar diálogos para exibir informações, como uma barra de progresso para mostrar o status de uma operação, ou caixas de aviso e de erro.</p>
<p>O Zenity utiliza o <a href="https://developer.gnome.org/gtk3/" target="_blank" rel="noopener"><strong>GTK</strong></a>, conjunto de bibliotecas utilizado para a construção de interfaces gráficas.</p>
<p>Por padrão, ele vem instalado na grande maioria das distribuições Linux, de modo que seja provável que o programa já esteja presente em sua distro. Verifique a presença do programa emitindo o comando  seguir no terminal:</p>
<pre><span style="color: #ff0000;"><strong>zenity --version</strong></span></pre>
<p>Se o programa estiver instalado, será exibida a versão do programa. A versão mais recente é a 3.22.0 (na data de elaboração deste tutorial).</p>
<p>Caso contrário, instale-o usando os seguintes comandos:</p>
<p>Sistemas Debian / Ubuntu:</p>
<pre><span style="color: #ff0000;"><strong>sudo apt-get install zenity</strong></span></pre>
<p>Sistemas Red Hat / CentOS:</p>
<pre><span style="color: #ff0000;"><strong>yum install zenity</strong></span></pre>
<h3>Sintaxe</h3>
<p>A sintaxe básica para uso do programa é a seguinte:</p>
<p><span style="color: #800080;"><strong>zenity [opções-comuns] [tipo-de-diálogo] [opções-específicas-do-diálogo]</strong></span></p>
<h3>Tipos de Caixas de Diálogo</h3>
<p>O Zenity permite criar os seguintes tipos de caixas de diálogo:</p>
<ul>
<li>Calendar</li>
<li>File selection</li>
<li>Forms</li>
<li>List</li>
<li>Notification icon</li>
<li>Message
<ul>
<li>Error</li>
<li>Information</li>
<li>Question</li>
<li>Warning</li>
</ul>
</li>
<li>Password entry</li>
<li>Progress</li>
<li>Text entry</li>
<li>Text information</li>
<li>Scale</li>
<li>Color selection</li>
</ul>
<h3>Códigos de saída</h3>
<p>Os seguintes códigos de saída são retornados ao executar o programa:</p>
<table style="height: 221px;" width="594">
<tbody>
<tr>
<td>Código de Saída</td>
<td>Descrição</td>
</tr>
<tr>
<td>0</td>
<td>O usuário pressionou os botões OK ou Fechar</td>
</tr>
<tr>
<td>1</td>
<td>O usuário pressionou Cancelar ou usou as funções da janela para fechar o diálogo</td>
</tr>
<tr>
<td>-1</td>
<td>Ocorreu um erro inesperado</td>
</tr>
<tr>
<td>5</td>
<td>A caixa de diálogo foi fechada porque ocorreu timeout (tempo esgotado)</td>
</tr>
</tbody>
</table>
<h3>Opções Comuns</h3>
<p>No Zenity, todas as caixas de diálogo suportam as seguintes opções gerais:</p>
<p>&#8211;title=title<br />
 Especifica o título da caixa de diálogo.<br />
 &#8211;window-icon=icon_path<br />
 Especifica o ícone que é exibido na janela da caixa de diálogo. Existem 4 tipos de ícones disponíveis      que podem ser selecionados usando-se as seguintes palavras-chave: &#8220;info&#8221;, &#8220;warning&#8221;, &#8220;question&#8221; e &#8220;error&#8221;.<br />
 &#8211;width=width<br />
 Especifica a largura caixa de diálogo.<br />
 &#8211;height=height<br />
 Especifica a altura caixa de diálogo.<br />
 &#8211;timeout=timeout<br />
 Especifica o timeout em segundos após o qual a caixa de diálogo é fechada.</p>
<h3>Outras opções</h3>
<p>&#8211;about<br />
 Mostra o diálogo Sobre o Zenity, o qual contém informações sobre a versão do Zenity, copyright e informações sobre os desenvolvedores do software.<br />
 &#8211;version<br />
 Mostra o número de versão do programa.</p>
<h3>Caixa de Diálogo File Selection (Seleção de Arquivos)</h3>
<p>Com esta caixa o usuário pode selecionar um arquivo a partir de um diretório, e o arquivo é retornado na saída padrão.<br />
 O modo padrão de operação do diálogo de seleção de arquivos é o modo open (abrir).</p>
<h4>Opções principais:</h4>
<p><strong>&#8211;filename=NOME_ARQUIVO</strong><br />
 Especifica o arquivo ou diretório a ser selecionado na caixa de seleção quando a caixa é exibida pela primeira vez</p>
<p><strong>&#8211;multiple</strong><br />
 Permite a seleção de múltiplos nomes de arquivo na caixa de diálogo de seleção</p>
<p><strong>&#8211;directory</strong><br />
 Permite apenas a seleção de diretórios na caixa de seleçãoo</p>
<p><strong>&#8211;save</strong><br />
 Permite configurar o diálogo de seleção de arquivos no modo Save (salvar)</p>
<p><strong>&#8211;separator=SEPARADOR</strong><br />
 Especificar a string que será utilizada para dividir a lista de nomes de arquivos retornada.</p>
<p><strong>&#8211;file-filter=FILTRO</strong><br />
 Permite usar um filtro para especificar o tipo de arquivos que deverá se exibido no diálogo</p>
<h3>Exemplos</h3>
<p>Vejamos alguns exemplos de uso do utilitário em scripts do shell:</p>
<p><strong>Exemplo 01</strong> &#8211; Caixa de diálogo de erro, contendo um botão OK (digitar o comando diretamente no terminal):</p>
<pre><span style="color: #ff0000;"><strong>zenity --title <span class="s2">"Problema detectado"</span>  --error --text<span class="o">=</span><span class="s2">"Arquivo requisitado inválido."</span></strong></span></pre>
<p><strong>Exemplo 02</strong> &#8211; Caixa de diálogo de texto. Crie um arquivo de texto e entre com os comandos a seguir. Logo após, salve o arquivo com o nome de teste-zenity.sh e dê permissão de execução ao script com o comando <strong>chmod 755 teste-zenity.sh:</strong></p>
<pre><span style="color: #339966;"><strong>#!/bin/bash</strong></span>
<span style="color: #ff0000;"><strong>nome=$(zenity --title="Nome?" --text "Qual é o seu nome?" --entry)</strong></span>
<span style="color: #ff0000;"><strong>zenity --info --title="Boas-vindas" --text=" $nome" --width="100" height="50"</strong></span>
<span style="color: #ff0000;"><strong>sobrenome=$(zenity --title="Sobrenome" --text "$primeiro Qual é o seu sobrenome?" --entry)</strong></span>
<span style="color: #ff0000;"><strong>zenity --info --title="Bóson Treinamentos" --text="Bons estudos, $nome $sobrenome"</strong></span></pre>
<p>Para rodar o script, execute o comando a seguir:</p>
<pre><span style="color: #ff0000;"><strong>./teste-zenity.sh</strong></span></pre>
<p>Veja duas telas deste script em execução:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8356 size-full" title="Caixa de diálogo com Zenity no Linux" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2016/10/zenity-info-01.jpg" alt="Caixa de diálogo com Zenity no Linux" width="210" height="156" /></p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8357 size-full" title="Caixa de diálogo de texto com Zenity no Linux" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2016/10/zenity-info-02.jpg" alt="Caixa de diálogo de texto com Zenity no Linux" width="291" height="165" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2016/10/zenity-info-02.jpg 291w, https://www.bosontreinamentos.com.br/wp-content/uploads/2016/10/zenity-info-02-174x98.jpg 174w" sizes="auto, (max-width: 291px) 100vw, 291px" /></p>
<p><strong>Exemplo 03</strong>: Exibindo um diálogo de calendário, capturando a data escolhida pelo usuário em uma variável, e exibindo a data no terminal:</p>
<pre><span style="color: #339966;"><strong>#!/bin/bash</strong>
<strong># Capturando a data escolhida pelo usuário a partir de um calendário</strong></span>
<span style="color: #ff0000;"><strong>data=$(zenity --title="Escolha a data" --calendar)</strong></span>
<span style="color: #ff0000;"><strong>if (( data ))</strong></span>
<span style="color: #ff0000;"><strong>then</strong></span>
<span style="color: #ff0000;"><strong>  echo "A data escolhida foi o dia $data"</strong></span>
<span style="color: #ff0000;"><strong>else</strong></span>
<span style="color: #ff0000;"><strong>  echo "Usuário não escolheu nenhuma data"</strong></span>
<span style="color: #ff0000;"><strong>fi</strong></span></pre>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8310 size-full" title="Caixa de diálogo de calendário com Zenity no Linux" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2016/10/calendário-zenity.png" alt="Caixa de diálogo de calendário com Zenity no Linux" width="297" height="394" /></p>
<p><strong>Exemplo 04</strong>: Usando uma caixa de diálogo de seleção de arquivos para selecionar um arquivo de texto:</p>
<pre><span style="color: #ff0000;"><strong><span style="color: #339966;">#!/bin/bash</span>
<span style="color: #339966;"># Selecionando um arquivo de texto a partir de uma caixa de diálogo</span>

ARQUIVO=$(zenity --file-selection --title="Selecione um arquivo")

case $? in
    0)
        echo "$ARQUIVO selecionado.";;
    1)
        echo "Nenhum arquivo selecionado.";;
    -1)
        echo "Ocorreu um erro desconhecido.";;
esac
</strong></span></pre>
<p><strong>Exemplo 05</strong>: Abrindo um arquivo de texto com extensão <strong>.sh</strong> e exibindo seu conteúdo em uma caixa de diálogo:</p>
<pre><span style="color: #339966;"><strong>#!/bin/bash</strong></span>
<span style="color: #339966;"><strong># Selecionando um arquivo de texto a partir de uma caixa de diálogo</strong></span>
<span style="color: #ff0000;"><strong>ARQUIVO=$(zenity --file-selection --title="Selecione um arquivo" --file-filter="*.sh")</strong></span>
<span style="color: #ff0000;"><strong># <span style="color: #339966;">Usando o diálogo Text Information para exibir o conteúdo do arquivo selecionado:</span></strong></span>
<span style="color: #ff0000;"><strong>if [ $ARQUIVO ]</strong></span>
<span style="color: #ff0000;"><strong>then</strong></span>
<span style="color: #ff0000;"><strong>    zenity --text-info --title="Arquivo" --filename=$ARQUIVO --width=450 --height=500</strong></span>
<span style="color: #ff0000;"><strong>fi</strong></span></pre>
<p><strong>Exemplo 06</strong>: Criando um formulário para captura de dados para um cadastro de usuário:</p>
<pre><span style="color: #339966;"><strong>#/bin/bash</strong>
</span><span style="color: #ff0000;"><strong><span style="color: #339966;"># Criando um formulário com o Zenity</span></strong></span>
<span style="color: #ff0000;"><strong>DADOS=$(zenity     --forms --title="Cadastro" --text="Preencha o formulário a seguir com seus dados:" \</strong></span>
<span style="color: #ff0000;"><strong>    --separator="," \</strong></span>
<span style="color: #ff0000;"><strong>    --add-entry="Nome" \</strong></span>
<span style="color: #ff0000;"><strong>    --add-entry="Sobrenome" \</strong></span>
<span style="color: #ff0000;"><strong>    --add-calendar="Data de Nascimento" \</strong></span>
<span style="color: #ff0000;"><strong>    --add-entry="E-mail")</strong></span>
<span style="color: #ff0000;"><strong>echo $DADOS | cut -d, -f1</strong></span>
<span style="color: #ff0000;"><strong>echo $DADOS | cut -d, -f2</strong></span>
<span style="color: #ff0000;"><strong>echo $DADOS | cut -d, -f3</strong></span>
<span style="color: #ff0000;"><strong>echo $DADOS | cut -d, -f4</strong></span></pre>
<p><strong>Exemplo 07</strong>: Selecionando itens em uma lista de itens:</p>
<pre><span style="color: #339966;"><strong>#/bin/bash</strong>
</span><span style="color: #ff0000;"><strong><span style="color: #339966;"># Usando uma lista com botões de rádio com o Zenity</span></strong></span>
<span style="color: #ff0000;"><strong>ITEM_SELECIONADO=$(zenity  --list  --text "Selecione seu sistema favorito" <span style="color: #339966;">\</span></strong></span>
<span style="color: #ff0000;"><strong>    --radiolist <span style="color: #339966;">\</span></strong></span>
<span style="color: #ff0000;"><strong>    --column "Marcar" <span style="color: #339966;">\</span></strong></span>
<span style="color: #ff0000;"><strong>    --column "Sistemas" <span style="color: #339966;">\</span></strong></span>
<span style="color: #ff0000;"><strong>    FALSE BSD TRUE Linux FALSE "OS X" FALSE Windows);</strong></span>
<span style="color: #ff0000;"><strong>echo "Seu sistema operacional favorito é o $ITEM_SELECIONADO";</strong></span></pre>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8358 size-full" title="Lista de rádio com Zenity em Shell Scripting" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2016/10/zenity-lista-rádio.jpg" alt="Lista de rádio com Zenity em Shell Scripting" width="306" height="244" /></p>
<p>É isso aí! Vimos alguns exemplos do uso do Zenity para criar caixas de diálogo no Linux. Se você quiser se aprofundar no assunto, recomendo uma consulta à página oficial do manual do Zenity: <strong>https://help.gnome.org/users/zenity/3.22/</strong></p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/shell-script/zenity-exibindo-caixas-de-dialogo-com-scripts-do-shell-no-linux/">Zenity &#8211; Exibindo caixas de diálogo com scripts do Shell no Linux</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/shell-script/zenity-exibindo-caixas-de-dialogo-com-scripts-do-shell-no-linux/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Ligando comandos no shell Bash &#8211; Linux</title>
		<link>https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/ligando-comandos-no-shell-bash-linux/</link>
					<comments>https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/ligando-comandos-no-shell-bash-linux/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Thu, 06 Oct 2016 23:06:54 +0000</pubDate>
				<category><![CDATA[Certificação LPIC-1]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Shell Scripting]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=8312</guid>

					<description><![CDATA[<p>Ligando comandos no shell Bash É possível criar uma sequência de comandos a serem executados no shell Bash por meio do uso de operadores específicos. Os operadores utilizados para conectar comandos no terminal do Linux são ;, &#38;, &#38;&#38;, &#124; e &#124;&#124;. Vamos estudar cada um deles na sequência: Operador ; Separa comandos que serão executados sequencialmente. Os comandos posteriores são executados assim que os comandos anteriores finalizarem sua execução Exemplo &#8211; Mudar para o diretório raiz e listar seu conteúdo mostrando as permissões e a data e hora atuais no final: cd /; ls -l; date Operador &#38; Permite executar o comando em segundo plano em um subshell. Desta forma, o shell fica livre para que outros comandos sejam executados, enquanto o comando especificado roda em background. Exemplo &#8211; Se o diretório /imagens não existir, criá-lo: [ ! -d /imagens ] &#38;&#38; mkdir /imagens Exemplo 2: Copiar todos os arquivos presentes no diretório /usr e seus subdiretórios que possuam a extensão .txt para o diretório /home/fabio/Documentos, liberando o terminal imediatamente, enquanto os arquivos são copiados: find /usr/ -name "*.txt" -exec cp {} /home/fabio/Documentos \; &#38; Operador &#38;&#38; Separa comandos que serão executados sequencialmente. Os comandos posteriores somente são executados se os [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/ligando-comandos-no-shell-bash-linux/">Ligando comandos no shell Bash &#8211; Linux</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Ligando comandos no shell Bash</h2>
<p>É possível criar uma sequência de comandos a serem executados no shell Bash por meio do uso de operadores específicos.</p>
<p>Os operadores utilizados para conectar comandos no terminal do Linux são <span style="color: #000080;"><strong>;</strong></span>, <span style="color: #000080;"><strong>&amp;</strong></span>, <span style="color: #000080;"><strong>&amp;&amp;</strong></span>, <span style="color: #000080;"><strong>|</strong></span> e <span style="color: #000080;"><strong>||</strong></span>. Vamos estudar cada um deles na sequência:</p>
<h3>Operador ;</h3>
<p>Separa comandos que serão executados sequencialmente. Os comandos posteriores são executados assim que os comandos anteriores finalizarem sua execução</p>
<p><strong>Exemplo</strong> &#8211; Mudar para o diretório raiz e listar seu conteúdo mostrando as permissões e a data e hora atuais no final:</p>
<pre><span style="color: #ff0000;"><strong>cd /; ls -l; date</strong></span></pre>
<h3>Operador &amp;</h3>
<p>Permite executar o comando em segundo plano em um subshell. Desta forma, o shell fica livre para que outros comandos sejam executados, enquanto o comando especificado roda em background.</p>
<p><strong>Exemplo</strong> &#8211; Se o diretório /imagens não existir, criá-lo:</p>
<pre><span style="color: #ff0000;"><strong>[ ! -d /imagens ] &amp;&amp; mkdir /imagens
</strong></span></pre>
<p>Exemplo 2: Copiar todos os arquivos presentes no diretório <strong>/usr</strong> e seus subdiretórios que possuam a extensão <strong>.txt</strong> para o diretório <strong>/home/fabio/Documentos</strong>, liberando o terminal imediatamente, enquanto os arquivos são copiados:</p>
<pre><span style="color: #ff0000;"><strong>find /usr/ -name "*.txt" -exec cp {} /home/fabio/Documentos \; &amp;</strong></span></pre>
<h3>Operador &amp;&amp;</h3>
<p>Separa comandos que serão executados sequencialmente. Os comandos posteriores somente são executados se os comandos anteriores forem executados com sucesso. Ou seja, um comando somente será executado se seu antecessor tiver retornado status de saída igual a zero.</p>
<p><strong>Exemplo</strong> &#8211; Atualizar os pacotes instalados no sistema após efetuar atualização da lista de pacotes dos repositórios:</p>
<pre><span style="color: #ff0000;"><strong>apt-get update &amp;&amp; apt-get upgrade</strong></span></pre>
<h3>Operador |</h3>
<p>Permite unir a saída padrão de um comando à entrada padrão de outro comando, ou seja, redireciona a saída de um comando para a entrada de outro.</p>
<p><strong>Exemplo</strong> &#8211; Filtrar todos os processos em execução no sistema que tenham relação com o shell bash:</p>
<pre><span style="color: #ff0000;"><strong>ps -ef | grep bash</strong></span></pre>
<h3>Operador ||</h3>
<p>Os comandos posteriores são executados somente se os comandos anteriores forem executados com falha. Ou seja, um comando somente será executado se seu antecessor tiver retornado status de saída igual diferente de zero.</p>
<p><strong>Exemplo</strong> &#8211; Se o diretório /arquivos não existir no sistema, criá-lo; caso contrário, não efetuar essa operação:</p>
<pre><span style="color: #ff0000;"><strong>ls /arquivos || mkdir /arquivos</strong></span></pre>
<h3>Combinando os operadores</h3>
<p><strong>Exemplo</strong> &#8211; Se o diretório /docs não existir no sistema, criá-lo e copiar o arquivo /etc/passwd para dentro dele; também exibir seu conteúdo para mostrar que o diretório foi criado e o arquivo copiado de acordo:</p>
<pre><span style="color: #ff0000;"><strong>[ ! -d /docs ] || mkdir /docs &amp;&amp; cp /etc/passwd /docs; ls /docs</strong></span></pre>
<p>É isso aí! Falaremos mais sobre o shell Bash do Linux no próximo tutorial. Até!</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/ligando-comandos-no-shell-bash-linux/">Ligando comandos no shell Bash &#8211; Linux</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/ligando-comandos-no-shell-bash-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
