Como executar dois ou mais comandos de terminal ao mesmo tempo no Linux
Se você usa o Linux, sabe como a linha de comando pode ser útil para trabalhar com arquivos, instalar softwares e iniciar programas. Mas pode ser ainda mais eficiente se você executar vários comandos de uma só vez.
Combinar dois ou mais comandos na linha de comando também é conhecido como “encadeamento de comandos”. Mostraremos maneiras diferentes de combinar comandos na linha de comando.
Opção 1: o operador de ponto-e-vírgula (;)
O operador ponto e vírgula (;) permite executar vários comandos em sucessão, independentemente de cada comando anterior ser bem-sucedido. Por exemplo, abra uma janela do Terminal (Ctrl + Alt + T no Ubuntu e no Linux Mint). Em seguida, digite os três comandos a seguir em uma linha, separados por ponto e vírgula e pressione Enter. Isto lhe dará uma listagem do diretório atual ( ls
), descubra em qual diretório você está atualmente ( pwd
) e exibir seu nome de login ( Quem sou eu
) tudo de uma vez.
ls; pwd; Quem sou eu
Você não precisa colocar espaços entre os pontos-e-vírgulas e os comandos. Você pode inserir os três comandos como ls; pwd; whoami
. No entanto, espaços tornam o comando combinado mais legível, o que é especialmente útil se você estiver colocando um comando combinado em um script de shell.
Opção Dois: O Operador Lógico E (&&)
Se você quiser que o segundo comando seja executado somente se o primeiro comando for bem-sucedido, separe os comandos com o operador AND lógico, que é dois e comercial ( &&
). Por exemplo, queremos criar um diretório chamado MyFolder e depois mudar para esse diretório, desde que ele tenha sido criado com sucesso. Então, digitamos o seguinte na linha de comando e pressione Enter.
mkdir MyFolder && cd MyFolder
A pasta foi criada com sucesso, então o CD
comando foi executado e agora estamos na nova pasta.
Recomendamos usar o operador lógico AND em vez do operador de ponto-e-vírgula na maioria das vezes (;
). Isso garante que você não faça nada desastroso. Por exemplo, se você executar um comando para alterar para um diretório e forçar a remoção de tudo nesse diretório de forma recursiva ( cd / some_directory; rm -Rf *
), você pode acabar arruinando o seu sistema se a mudança de diretório não aconteceu. Não que nós recomendamos que você execute um comando para remover incondicionalmente todos os arquivos em um diretório de uma só vez.
Opção Três: O Operador Lógico OR (||)
Às vezes você pode querer executar um segundo comando somente se o primeiro comando não ter sucesso. Para fazer isso, usamos o operador lógico OR, ou duas barras verticais ( ||
). Por exemplo, queremos verificar se o diretório MyFolder existe ( [-d ~ / MyFolder]
) e criá-lo se não ( mkdir ~ / MyFolder
). Então, digitamos o seguinte comando no prompt e pressione Enter.
[-d ~ / MyFolder] || mkdir ~ / MyFolder
Certifique-se de que há um espaço após o primeiro colchete e antes do segundo colchete ou o primeiro comando que verifica se o diretório existe não funcionará.
Em nosso exemplo, o diretório MyFolder não existe, então o segundo comando cria o diretório.
Combinando Múltiplos Operadores
Você também pode combinar vários operadores na linha de comando. Por exemplo, queremos primeiro verificar se existe um arquivo ( [-f ~ / sample.txt]
). Em caso afirmativo, imprimimos uma mensagem na tela dizendo isso ( echo "Arquivo existe".
). Caso contrário, criamos o arquivo ( toque em ~ / sample.txt
). Então, digitamos o seguinte no prompt de comando e pressione Enter.
[-f ~ / sample.txt] && echo “Arquivo existe” || toque em ~ / sample.txt
Em nosso exemplo, o arquivo não existia, então foi criado.
Aqui está um resumo útil de cada um dos operadores usados para combinar comandos:
-
UMA ; B
- Executar A e depois B, independentemente do sucesso ou fracasso de A -
A && B
- Executar B somente se A for bem-sucedido -
A || B
- Executar B apenas se A falhou
Todos esses métodos de combinação de comandos também podem ser usados em scripts de shell no Linux e no Windows 10.
Você também pode corrigir automaticamente a ortografia e erros de digitação ao usar "cd" na linha de comando no Linux para evitar conseqüências drásticas ao combinar comandos.