Visão geral
A ferramenta bash fornece a Claude:- Sessão bash persistente que mantém o estado
- Capacidade de executar qualquer comando de shell
- Acesso a variáveis de ambiente e diretório de trabalho
- Encadeamento de comandos e capacidades de script
Compatibilidade de modelos
| Modelo | Versão da ferramenta |
|---|---|
| Modelos Claude 4 e Sonnet 3.7 (descontinuado) | bash_20250124 |
Versões mais antigas da ferramenta não têm garantia de compatibilidade com versões mais recentes de modelos. Sempre use a versão da ferramenta que corresponde à versão do seu modelo.
Casos de uso
- Fluxos de trabalho de desenvolvimento: Execute comandos de compilação, testes e ferramentas de desenvolvimento
- Automação de sistema: Execute scripts, gerencie arquivos, automatize tarefas
- Processamento de dados: Processe arquivos, execute scripts de análise, gerencie conjuntos de dados
- Configuração de ambiente: Instale pacotes, configure ambientes
Início rápido
Como funciona
A ferramenta bash mantém uma sessão persistente:- Claude determina qual comando executar
- Você executa o comando em um shell bash
- Retorna a saída (stdout e stderr) para Claude
- O estado da sessão persiste entre comandos (variáveis de ambiente, diretório de trabalho)
Parâmetros
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
command | Sim* | O comando bash a executar |
restart | Não | Defina como true para reiniciar a sessão bash |
restart
Exemplo de uso
Exemplo de uso
Exemplo: Automação em várias etapas
Claude pode encadear comandos para completar tarefas complexas:Implementar a ferramenta bash
A ferramenta bash é implementada como uma ferramenta sem esquema. Ao usar esta ferramenta, você não precisa fornecer um esquema de entrada como com outras ferramentas; o esquema é integrado ao modelo de Claude e não pode ser modificado.1
Configurar um ambiente bash
Crie uma sessão bash persistente com a qual Claude possa interagir:
2
Lidar com execução de comandos
Crie uma função para executar comandos e capturar a saída:
3
Processar chamadas de ferramentas de Claude
Extraia e execute comandos das respostas de Claude:
4
Implementar medidas de segurança
Adicione validação e restrições:
Lidar com erros
Ao implementar a ferramenta bash, trate vários cenários de erro:Timeout de execução de comando
Timeout de execução de comando
Se um comando levar muito tempo para executar:
Comando não encontrado
Comando não encontrado
Se um comando não existir:
Permissão negada
Permissão negada
Se houver problemas de permissão:
Seguir as melhores práticas de implementação
Usar timeouts de comando
Usar timeouts de comando
Implemente timeouts para evitar comandos travados:
Manter estado da sessão
Manter estado da sessão
Mantenha a sessão bash persistente para manter variáveis de ambiente e diretório de trabalho:
Lidar com grandes saídas
Lidar com grandes saídas
Truncar saídas muito grandes para evitar problemas de limite de tokens:
Registrar todos os comandos
Registrar todos os comandos
Mantenha um registro de auditoria dos comandos executados:
Sanitizar saídas
Sanitizar saídas
Remova informações sensíveis das saídas de comando:
Segurança
A ferramenta bash fornece acesso direto ao sistema. Implemente estas medidas de segurança essenciais:
- Executar em ambientes isolados (Docker/VM)
- Implementar filtragem de comandos e listas de permissão
- Definir limites de recursos (CPU, memória, disco)
- Registrar todos os comandos executados
Recomendações principais
- Use
ulimitpara definir restrições de recursos - Filtre comandos perigosos (
sudo,rm -rf, etc.) - Execute com permissões mínimas de usuário
- Monitore e registre toda execução de comando
Preços
The bash tool adds 245 input tokens to your API calls. Additional tokens are consumed by:- Command outputs (stdout/stderr)
- Error messages
- Large file contents
Padrões comuns
Fluxos de trabalho de desenvolvimento
- Executar testes:
pytest && coverage report - Compilar projetos:
npm install && npm run build - Operações Git:
git status && git add . && git commit -m "message"
Operações de arquivo
- Processar dados:
wc -l *.csv && ls -lh *.csv - Pesquisar arquivos:
find . -name "*.py" | xargs grep "pattern" - Criar backups:
tar -czf backup.tar.gz ./data
Tarefas de sistema
- Verificar recursos:
df -h && free -m - Gerenciamento de processos:
ps aux | grep python - Configuração de ambiente:
export PATH=$PATH:/new/path && echo $PATH
Limitações
- Sem comandos interativos: Não pode lidar com
vim,lessou prompts de senha - Sem aplicações GUI: Apenas linha de comando
- Escopo da sessão: Persiste dentro da conversa, perdido entre chamadas de API
- Limites de saída: Grandes saídas podem ser truncadas
- Sem streaming: Resultados retornados após conclusão