Инструмент 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 наиболее мощен при комбинировании с текстовым редактором и другими инструментами.