Ligando comandos no shell Bash – Linux

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 ;, &, &&, | e ||. 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 – 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 &

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 – Se o diretório /imagens não existir, criá-lo:

[ ! -d /imagens ] && 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 \; &

Operador &&

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.

Exemplo – Atualizar os pacotes instalados no sistema após efetuar atualização da lista de pacotes dos repositórios:

apt-get update && apt-get upgrade

Operador |

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.

Exemplo – Filtrar todos os processos em execução no sistema que tenham relação com o shell bash:

ps -ef | grep bash

Operador ||

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.

Exemplo – Se o diretório /arquivos não existir no sistema, criá-lo; caso contrário, não efetuar essa operação:

ls /arquivos || mkdir /arquivos

Combinando os operadores

Exemplo – 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:

[ ! -d /docs ] || mkdir /docs && cp /etc/passwd /docs; ls /docs

É isso aí! Falaremos mais sobre o shell Bash do Linux no próximo tutorial. Até!

Sobre Fábio dos Reis (1273 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

Escreva um comentário

Seu e-mail não será divulgado


*