Обзор
Инструмент bash предоставляет Claude:- Постоянную сессию bash, которая сохраняет состояние
- Возможность выполнять любые команды оболочки
- Доступ к переменным окружения и рабочему каталогу
- Возможности объединения команд в цепочки и создания скриптов
Версии инструмента
Модель | Версия инструмента |
---|---|
Модели Claude 4 и Sonnet 3.7 | bash_20250124 |
Claude Sonnet 3.5 (устарел) | bash_20241022 |
Claude Sonnet 3.5 (устарел) требует бета-заголовок
computer-use-2024-10-22
при использовании инструмента bash.Инструмент bash общедоступен в моделях Claude 4 и Sonnet 3.7.Случаи использования
- Рабочие процессы разработки: Выполнение команд сборки, тестов и инструментов разработки
- Автоматизация системы: Выполнение скриптов, управление файлами, автоматизация задач
- Обработка данных: Обработка файлов, выполнение скриптов анализа, управление наборами данных
- Настройка окружения: Установка пакетов, настройка окружений
Быстрый старт
Как это работает
Инструмент bash поддерживает постоянную сессию:- Claude определяет, какую команду выполнить
- Вы выполняете команду в оболочке bash
- Возвращаете вывод (stdout и stderr) Claude
- Состояние сессии сохраняется между командами (переменные окружения, рабочий каталог)
Параметры
Параметр | Обязательный | Описание |
---|---|---|
command | Да* | Команда bash для выполнения |
restart | Нет | Установите в true для перезапуска сессии bash |
restart
Пример использования
Пример использования
Пример: Многошаговая автоматизация
Claude может объединять команды в цепочки для выполнения сложных задач:Реализация инструмента bash
Инструмент bash реализован как инструмент без схемы. При использовании этого инструмента вам не нужно предоставлять входную схему, как с другими инструментами; схема встроена в модель Claude и не может быть изменена.1
Настройка окружения bash
Создайте постоянную сессию bash, с которой может взаимодействовать Claude:
2
Обработка выполнения команд
Создайте функцию для выполнения команд и захвата вывода:
3
Обработка вызовов инструментов Claude
Извлеките и выполните команды из ответов Claude:
4
Реализация мер безопасности
Добавьте валидацию и ограничения:
Обработка ошибок
При реализации инструмента bash обрабатывайте различные сценарии ошибок:Таймаут выполнения команды
Таймаут выполнения команды
Если команда выполняется слишком долго:
Команда не найдена
Команда не найдена
Если команда не существует:
Отказано в доступе
Отказано в доступе
Если есть проблемы с разрешениями:
Следуйте лучшим практикам реализации
Используйте таймауты команд
Используйте таймауты команд
Реализуйте таймауты для предотвращения зависания команд:
Поддерживайте состояние сессии
Поддерживайте состояние сессии
Сохраняйте сессию bash постоянной для поддержания переменных окружения и рабочего каталога:
Обрабатывайте большие выводы
Обрабатывайте большие выводы
Обрезайте очень большие выводы для предотвращения проблем с лимитом токенов:
Логируйте все команды
Логируйте все команды
Ведите аудиторский след выполненных команд:
Очищайте выводы
Очищайте выводы
Удаляйте конфиденциальную информацию из выводов команд:
Безопасность
Инструмент bash предоставляет прямой доступ к системе. Реализуйте эти важные меры безопасности:
- Запуск в изолированных окружениях (Docker/VM)
- Реализация фильтрации команд и списков разрешенных команд
- Установка ограничений ресурсов (CPU, память, диск)
- Логирование всех выполненных команд
Ключевые рекомендации
- Используйте
ulimit
для установки ограничений ресурсов - Фильтруйте опасные команды (
sudo
,rm -rf
, и т.д.) - Запускайте с минимальными разрешениями пользователя
- Мониторьте и логируйте все выполнение команд
Ценообразование
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
Общие паттерны
Рабочие процессы разработки
- Запуск тестов:
pytest && coverage report
- Сборка проектов:
npm install && npm run build
- Операции Git:
git status && git add . && git commit -m "сообщение"
Операции с файлами
- Обработка данных:
wc -l *.csv && ls -lh *.csv
- Поиск в файлах:
find . -name "*.py" | xargs grep "паттерн"
- Создание резервных копий:
tar -czf backup.tar.gz ./data
Системные задачи
- Проверка ресурсов:
df -h && free -m
- Управление процессами:
ps aux | grep python
- Настройка окружения:
export PATH=$PATH:/new/path && echo $PATH
Ограничения
- Нет интерактивных команд: Не может обрабатывать
vim
,less
или запросы паролей - Нет GUI-приложений: Только командная строка
- Область сессии: Сохраняется в рамках разговора, теряется между вызовами API
- Ограничения вывода: Большие выводы могут быть обрезаны
- Нет потоковой передачи: Результаты возвращаются после завершения