Обзор
Инструмент bash предоставляет Claude:- Постоянную сессию bash, которая сохраняет состояние
- Возможность запускать любую команду оболочки
- Доступ к переменным окружения и рабочему каталогу
- Возможности цепочки команд и написания скриптов
Совместимость моделей
| Модель | Версия инструмента |
|---|---|
| Claude 4 модели и Sonnet 3.7 (устарело) | bash_20250124 |
Старые версии инструмента не гарантируют обратную совместимость с новыми моделями. Всегда используйте версию инструмента, которая соответствует версии вашей модели.
Варианты использования
- Рабочие процессы разработки: Запуск команд сборки, тестов и инструментов разработки
- Автоматизация системы: Выполнение скриптов, управление файлами, автоматизация задач
- Обработка данных: Обработка файлов, запуск скриптов анализа, управление наборами данных
- Настройка окружения: Установка пакетов, настройка окружения
Быстрый старт
Как это работает
Инструмент 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 "message"
Операции с файлами
- Обработка данных:
wc -l *.csv && ls -lh *.csv - Поиск в файлах:
find . -name "*.py" | xargs grep "pattern" - Создание резервных копий:
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
- Лимиты вывода: Большие выводы могут быть усечены
- Нет потоковой передачи: Результаты возвращаются после завершения