0Pricing
DevOps Bootcamp · Aula

Executando comandos de shell com command e shell

Execute comandos arbitrários em nós remotos.

Executando comandos de shell com command e shell é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.

Execute Comandos Reais Remotamente

Às vezes, basta executar um comando bruto nos seus servidores. O Ansible oferece dois módulos para isso: command e shell. 🖥️

O Módulo command

O módulo command executa um programa diretamente na máquina remota. Ele é o padrão seguro para comandos simples e únicos.

ansible all -m command -a "uptime"

command Ignora o Interpretador de Comandos

Como command é executado sem um interpretador de comandos, ele ignora canais, redirecionamentos e variáveis como $HOME. Isso o torna previsível e seguro.

ansible all -m command -a "ls /etc"

O Módulo shell

O módulo shell executa seu comando por meio de um interpretador de comandos real na máquina, portanto canais, redirecionamentos e variáveis funcionam.

ansible all -m shell -a "cat /etc/*release"

Canais Exigem shell

Quando seu comando usa um canal ou redirecionamento, use shell. O módulo command trataria | apenas como um argumento comum.

ansible web -m shell -a "ps aux | grep nginx"

Variáveis de Ambiente no shell

Somente o módulo shell expande variáveis. Use-o quando seu comando depender de algo como $HOME ou $PATH.

ansible all -m shell -a "echo $HOME"

Prefira command Quando Possível

Use command por padrão e shell somente quando realmente precisar dos recursos do interpretador de comandos. Quanto menos interpretador, menos surpresas.

Execute em um Diretório com chdir

Ambos os módulos aceitam chdir para entrar em um diretório antes da execução, o que é mais organizado do que usar cd dentro do comando.

ansible app -m command -a "chdir=/srv git pull"

Evite Reexecuções com creates

A opção creates ignora o comando se determinado arquivo já existir, uma maneira simples de evitar repetir o trabalho.

ansible app -m command -a "touch /tmp/done creates=/tmp/done"

Eles Não São Idempotentes

Ambos os módulos informam changed em toda execução, pois o Ansible não pode saber o que seu comando bruto fez. Prefira módulos específicos quando houver um.

Último Recurso, Não Primeira Opção

Trate shell e command como recursos de escape. Se um módulo específico, como service ou package, for adequado, use-o para obter resultados mais seguros.

Verificação Rápida

Você precisa executar um comando que usa um canal. Qual módulo deve escolher?

Recapitulação

Use command para comandos simples e shell quando precisar de canais ou variáveis. Lembre-se: ambos sempre informam changed. 🖥️

Perguntas Frequentes

A aula “Executando comandos de shell com command e shell” é grátis?

Sim — o texto completo de “Executando comandos de shell com command e shell” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.

O que vou aprender em “Executando comandos de shell com command e shell”?

Execute comandos arbitrários em nós remotos. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar DevOps Bootcamp?

Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Executando comandos de shell com command e shell”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de DevOps Bootcamp?

Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Anatomia do comando ansible
  2. Padrões: direcionando todos, web e host1
  3. Executando comandos de shell com command e shell
  4. Escalonamento de privilégios com become
← Voltar para DevOps Bootcamp