Инструмент Bash
Инструмент bash позволяет Claude выполнять команды оболочки в постоянной bash-сессии, обеспечивая системные операции, выполнение скриптов и автоматизацию командной строки.
Инструмент bash позволяет Claude выполнять команды оболочки в постоянной bash-сессии, обеспечивая системные операции, выполнение скриптов и автоматизацию командной строки.
Обзор
Инструмент 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 может связывать команды для выполнения сложных задач:
Сессия сохраняет состояние между командами, поэтому файлы, созданные на шаге 2, доступны на шаге 3.
Реализация инструмента bash
Инструмент bash реализован как инструмент без схемы. При использовании этого инструмента вам не нужно предоставлять входную схему, как с другими инструментами; схема встроена в модель Claude и не может быть изменена.
Настройка bash-окружения
Создайте постоянную bash-сессию, с которой может взаимодействовать Claude:
Обработка выполнения команд
Создайте функцию для выполнения команд и захвата вывода:
Обработка вызовов инструментов Claude
Извлеките и выполните команды из ответов Claude:
Реализация мер безопасности
Добавьте валидацию и ограничения:
Обработка ошибок
При реализации инструмента 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
- Ограничения вывода: Большие выводы могут быть обрезаны
- Нет потоковой передачи: Результаты возвращаются после завершения
Комбинирование с другими инструментами
Инструмент bash наиболее мощен при комбинировании с текстовым редактором и другими инструментами.