Como executar vários comandos no Linux

How Run Multiple Commands Linux



Diferentes tipos de comandos são necessários para executar a partir do terminal no Linux. Às vezes, precisamos executar vários comandos ao mesmo tempo em que os comandos podem depender uns dos outros ou não. A execução de vários comandos ao mesmo tempo é chamada de encadeamento de comandos. Muitos tipos de operadores podem ser usados ​​para encadeamento de comandos para diferentes fins. Como você pode executar dois ou mais comandos usando os operadores mais comumente usados, é mostrado neste tutorial.

O operador pipe (|) é usado para executar dois ou mais comandos relacionados ao mesmo tempo. A entrada do próximo comando será a saída do comando anterior. Portanto, o sucesso de cada comando depende do sucesso do comando anterior sem o primeiro comando. No comando a seguir, o primeiro comando, ls descobrirá a lista de arquivos e pastas do local atual e enviará a saída como entrada para o segundo comando, banheiro . Ele imprimirá o número total de linhas, palavras e caracteres com base nos dados de entrada.







$ls -a | banheiro felizmente



Operador de ponto e vírgula (;)

O operador ponto-e-vírgula (;) é usado para executar dois ou mais comandos não relacionados ao mesmo tempo. Isso significa que a saída de cada comando não depende de outros comandos. No exemplo a seguir, três tipos de comandos são combinados e a falha de cada comando não criará um efeito na saída de outros comandos. O primeiro comando imprimirá o conteúdo de um arquivo, o segundo comando criará um diretório e o terceiro comando mudará o diretório atual.



$gatomeuarquivo.txt;mkdirnewdir;CDÁrea de Trabalho





Operador lógico AND (&&)

Os comandos executados por AND lógico (&&) estão relacionados entre si, como o comando pipe (|). Portanto, se o comando anterior não for executado com êxito, os próximos comandos não funcionarão. No exemplo a seguir, dois comandos, mkdir e rmdir combinados por operadores &&. Portanto, se o comando mkdir não for executado com êxito, o comando rmdir não será executado. De acordo com a saída do comando ls, o diretório myDir já existe no local atual. Portanto, o primeiro comando não será executado e o segundo comando também não será executado.

$ls
$mkdirmyDir&& rmdirtemp
$ls



Operador lógico OR (||)

O operador lógico OR (||) é o oposto do operador lógico AND (&&). O próximo comando será executado se o comando anterior falhar. Três comandos cat são combinados com o operador OR (||) no exemplo a seguir. Ao executar o comando, em primeiro lugar, ele tentará exibir o conteúdo do arquivo cat.txt. Se esse arquivo não existir no local atual, ele tentará executar o próximo comando. De acordo com a saída, o arquivo bird.txt existe no local atual e o conteúdo desse arquivo é exibido.

$ cat cat.txt || cat dog.txt || cat bird.txt

Vários comandos com vários operadores

Você pode usar vários operadores para executar vários comandos ao mesmo tempo. No exemplo a seguir, três comandos são combinados com os operadores OR (||) e AND (&&). Depois de executar o comando, em primeiro lugar, ele mudará o diretório atual para newdir se o diretório existir. Se este comando falhar, ele criará o diretório executando o segundo comando e imprimirá a mensagem, o diretório foi criado. De acordo com a saída, o diretório newdir não existe no local atual. Assim, a mensagem de erro é exibida e o diretório é criado posteriormente.

$CDnewdir|| mkdirnewdir&& jogou fora 'diretório é criado'

Operador de combinação {}

Dois ou mais comandos podem ser combinados usando este operador e se a execução do primeiro comando falhar, o segundo comando não será executado. No exemplo a seguir, os operadores OR, AND e de combinação são usados ​​juntos. Os primeiros comandos verificarão se o diretório temporário existe no local atual ou não. Se o primeiro comando falhar, ele criará um diretório temporário e imprimirá uma mensagem. O último comando mostrará a lista de diretórios atual.

$[ -dtemp] || { mkdirtemp;jogou foradiretório temporário é criado agora .;} && ls

Operador de precedência ()

Você pode usar este operador para agrupar os comandos no momento da execução. Aqui, cada grupo funcionará como uma tarefa única. No exemplo a seguir, dois grupos de comando são definidos e se o primeiro grupo falhar na execução, o segundo grupo será executado.

$(CDtemp&& ls-para) || (mkdirtemp&& ls)

Conclusão

Este tutorial explicou os operadores mais usados ​​para executar vários comandos no Linux. Mas existem muitos outros operadores existentes no bash que são usados ​​para executar dois ou mais comandos juntos. Estes são 'e' comercial (&), redirecionamento (, >>), NOT lógico (!), Combinação ({}) etc.