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 (
whoami
) tudo de uma vez.
ls; pwd; whoami
Você também 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, os 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 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 seu sistema se a alteração do diretório não acontecer. 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ãoter 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 isso não acontecer (
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, portanto, 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 “File exists.”
). Se não, criamos o arquivo (
touch ~/sample.txt
). Então, digitamos o seguinte no prompt de comando e pressione Enter.
[ -f ~/sample.txt ] && echo “File exists.” || touch ~/sample.txt
Em nosso exemplo, o arquivo não existia, por isso foi criado.
-
A; 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.