Visão geral
A ferramenta bash fornece ao Claude:- Sessão bash persistente que mantém o estado
- Capacidade de executar qualquer comando shell
- Acesso a variáveis de ambiente e diretório de trabalho
- Capacidades de encadeamento de comandos e scripts
Compatibilidade de modelos
| Modelo | Versão da Ferramenta |
|---|---|
| Modelos Claude 4 e Sonnet 3.7 | bash_20250124 |
| Claude Sonnet 3.5 (descontinuado) | bash_20241022 |
Claude Sonnet 3.5 (descontinuado) requer o cabeçalho beta
computer-use-2024-10-22 ao usar a ferramenta bash.A ferramenta bash está geralmente disponível nos modelos Claude 4 e Sonnet 3.7.Versões mais antigas da ferramenta não são garantidas como compatíveis com versões anteriores com modelos mais novos. Sempre use a versão da ferramenta que corresponde à versão do seu modelo.
Casos de uso
- Fluxos de trabalho de desenvolvimento: Executar comandos de build, testes e ferramentas de desenvolvimento
- Automação do sistema: Executar scripts, gerenciar arquivos, automatizar tarefas
- Processamento de dados: Processar arquivos, executar scripts de análise, gerenciar conjuntos de dados
- Configuração de ambiente: Instalar pacotes, configurar 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 ser executado |
restart | Não | Defina como true para reiniciar a sessão bash |
restart
Exemplo de uso
Exemplo de uso
Exemplo: Automação multi-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 está integrado no modelo do 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 saída:
3
Processar chamadas de ferramenta do Claude
Extrair e executar comandos das respostas do Claude:
4
Implementar medidas de segurança
Adicionar validação e restrições:
Lidar com erros
Ao implementar a ferramenta bash, lide com vários cenários de erro:Timeout de execução de comando
Timeout de execução de comando
Se um comando demorar muito 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 melhores práticas de implementação
Usar timeouts de comando
Usar timeouts de comando
Implementar timeouts para prevenir comandos travados:
Manter estado da sessão
Manter estado da sessão
Manter a sessão bash persistente para manter variáveis de ambiente e diretório de trabalho:
Lidar com saídas grandes
Lidar com saídas grandes
Truncar saídas muito grandes para prevenir problemas de limite de tokens:
Registrar todos os comandos
Registrar todos os comandos
Manter uma trilha de auditoria dos comandos executados:
Sanitizar saídas
Sanitizar saídas
Remover informações sensíveis das saídas de comando:
Segurança
A ferramenta bash fornece acesso direto ao sistema. Implemente essas 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 - Construir projetos:
npm install && npm run build - Operações Git:
git status && git add . && git commit -m "mensagem"
Operações de arquivo
- Processar dados:
wc -l *.csv && ls -lh *.csv - Buscar arquivos:
find . -name "*.py" | xargs grep "padrão" - Criar backups:
tar -czf backup.tar.gz ./data
Tarefas do sistema
- Verificar recursos:
df -h && free -m - Gerenciamento de processos:
ps aux | grep python - Configuração de ambiente:
export PATH=$PATH:/novo/caminho && echo $PATH
Limitações
- Sem comandos interativos: Não pode lidar com
vim,less, ou prompts de senha - Sem aplicações GUI: Apenas linha de comando
- Escopo da sessão: Persiste dentro da conversa, perdido entre chamadas da API
- Limites de saída: Saídas grandes podem ser truncadas
- Sem streaming: Resultados retornados após conclusão