Loading...
    • Руководство разработчика
    • Справочник API
    • MCP
    • Ресурсы
    • Примечания к выпуску
    Search...
    ⌘K
    Первые шаги
    Введение в ClaudeБыстрый старт
    Модели и цены
    Обзор моделейВыбор моделиЧто нового в Claude 4.6Руководство миграцииУстаревшие моделиЦены
    Разработка с Claude
    Обзор функцийИспользование Messages APIОбработка причин остановкиЛучшие практики промптирования
    Возможности модели
    Extended thinkingAdaptive thinkingУсилиеБыстрый режим (preview)Структурированные выходные данныеЦитированияПотоковая передача сообщенийПакетная обработкаПоддержка PDFРезультаты поискаМногоязычная поддержкаEmbeddingsЗрение
    Инструменты
    ОбзорКак реализовать использование инструментовИнструмент веб-поискаИнструмент веб-загрузкиИнструмент выполнения кодаИнструмент памятиИнструмент BashИнструмент управления компьютеромИнструмент текстового редактора
    Инфраструктура инструментов
    Поиск инструментовПрограммный вызов инструментовПотоковая передача инструментов с детализацией
    Управление контекстом
    Контекстные окнаСжатиеРедактирование контекстаКэширование промптовПодсчет токенов
    Файлы и ресурсы
    Files API
    Agent Skills
    ОбзорБыстрый стартЛучшие практикиSkills для предприятийИспользование Skills с API
    Agent SDK
    ОбзорБыстрый стартTypeScript SDKTypeScript V2 (preview)Python SDKРуководство миграции
    MCP в API
    MCP коннекторУдаленные MCP серверы
    Claude на платформах третьих сторон
    Amazon BedrockMicrosoft FoundryVertex AI
    Инженерия промптов
    ОбзорГенератор промптовИспользование шаблонов промптовУлучшитель промптовБудьте ясны и прямолинейныИспользуйте примеры (многошаговое промптирование)Дайте Claude думать (CoT)Используйте XML тегиДайте Claude роль (системные промпты)Цепочка сложных промптовСоветы для длинного контекстаСоветы для Extended thinking
    Тестирование и оценка
    Определение критериев успехаРазработка тестовых случаевИспользование инструмента оценкиСнижение задержки
    Укрепление защиты
    Снижение галлюцинацийУвеличение согласованности выходных данныхСмягчение jailbreaksПотоковая передача отказовСнижение утечки промптаДержите Claude в образе
    Администрирование и мониторинг
    Обзор Admin APIРезидентность данныхРабочие пространстваUsage and Cost APIClaude Code Analytics APIZero Data Retention
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    Инструменты

    Bash tool

    Инструмент bash позволяет Claude выполнять команды оболочки в постоянной сессии bash, обеспечивая системные операции, выполнение скриптов и автоматизацию командной строки.

    Инструмент bash позволяет Claude выполнять команды оболочки в постоянной сессии bash, обеспечивая системные операции, выполнение скриптов и автоматизацию командной строки.

    Обзор

    Инструмент bash предоставляет Claude:

    • Постоянную сессию bash, которая сохраняет состояние
    • Возможность запускать любую команду оболочки
    • Доступ к переменным окружения и рабочему каталогу
    • Возможности цепочки команд и написания скриптов

    Совместимость моделей

    МодельВерсия инструмента
    Claude 4 models и Sonnet 3.7 (deprecated)bash_20250124

    Старые версии инструмента не гарантируют обратную совместимость с новыми моделями. Всегда используйте версию инструмента, которая соответствует вашей версии модели.

    Варианты использования

    • Рабочие процессы разработки: Запуск команд сборки, тестов и инструментов разработки
    • Автоматизация системы: Выполнение скриптов, управление файлами, автоматизация задач
    • Обработка данных: Обработка файлов, запуск скриптов анализа, управление наборами данных
    • Настройка окружения: Установка пакетов, настройка окружения

    Быстрый старт

    import anthropic
    
    client = anthropic.Anthropic()
    
    response = client.messages.create(
        model="claude-opus-4-6",
        max_tokens=1024,
        tools=[
            {
                "type": "bash_20250124",
                "name": "bash"
            }
        ],
        messages=[
            {"role": "user", "content": "List all Python files in the current directory."}
        ]
    )

    Как это работает

    Инструмент bash поддерживает постоянную сессию:

    1. Claude определяет, какую команду запустить
    2. Вы выполняете команду в оболочке bash
    3. Возвращаете вывод (stdout и stderr) в Claude
    4. Состояние сессии сохраняется между командами (переменные окружения, рабочий каталог)

    Параметры

    ПараметрОбязательныйОписание
    commandДа*Команда bash для выполнения
    restartНетУстановите значение true для перезагрузки сессии bash

    *Обязательно, если не используется restart

    Пример: Многошаговая автоматизация

    Claude может объединять команды для выполнения сложных задач:

    # Запрос пользователя
    "Install the requests library and create a simple Python script that fetches a joke from an API, then run it."
    
    # Claude's tool uses:
    # 1. Install package
    {"command": "pip install requests"}
    
    # 2. Create script
    {"command": "cat > fetch_joke.py << 'EOF'\nimport requests\nresponse = requests.get('https://official-joke-api.appspot.com/random_joke')\njoke = response.json()\nprint(f\"Setup: {joke['setup']}\")\nprint(f\"Punchline: {joke['punchline']}\")\nEOF"}
    
    # 3. Run script
    {"command": "python fetch_joke.py"}

    Сессия сохраняет состояние между командами, поэтому файлы, созданные на шаге 2, доступны на шаге 3.


    Реализация инструмента bash

    Инструмент bash реализован как инструмент без схемы. При использовании этого инструмента вам не нужно предоставлять входную схему, как с другими инструментами; схема встроена в модель Claude и не может быть изменена.

    1. 1

      Установка окружения bash

      Создайте постоянную сессию bash, с которой Claude может взаимодействовать:

      import subprocess
      import threading
      import queue
      
      class BashSession:
          def __init__(self):
              self.process = subprocess.Popen(
                  ['/bin/bash'],
                  stdin=subprocess.PIPE,
                  stdout=subprocess.PIPE,
                  stderr=subprocess.PIPE,
                  text=True,
                  bufsize=0
              )
              self.output_queue = queue.Queue()
              self.error_queue = queue.Queue()
              self._start_readers()
    2. 2

      Обработка выполнения команд

      Создайте функцию для выполнения команд и захвата вывода:

      def execute_command(self, command):
          # Send command to bash
          self.process.stdin.write(command + '\n')
          self.process.stdin.flush()
          
          # Capture output with timeout
          output = self._read_output(timeout=10)
          return output
    3. 3

      Обработка вызовов инструментов Claude

      Извлеките и выполните команды из ответов Claude:

      for content in response.content:
          if content.type == "tool_use" and content.name == "bash":
              if content.input.get("restart"):
                  bash_session.restart()
                  result = "Bash session restarted"
              else:
                  command = content.input.get("command")
                  result = bash_session.execute_command(command)
              
              # Return result to Claude
              tool_result = {
                  "type": "tool_result",
                  "tool_use_id": content.id,
                  "content": result
              }
    4. 4

      Реализация мер безопасности

      Добавьте валидацию и ограничения:

      def validate_command(command):
          # Block dangerous commands
          dangerous_patterns = ['rm -rf /', 'format', ':(){:|:&};:']
          for pattern in dangerous_patterns:
              if pattern in command:
                  return False, f"Command contains dangerous pattern: {pattern}"
          
          # Add more validation as needed
          return True, None

    Обработка ошибок

    При реализации инструмента 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

    Полные сведения о ценах см. в разделе pricing tool use.

    Распространенные паттерны

    Рабочие процессы разработки

    • Запуск тестов: 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
    • Лимиты вывода: Большие выводы могут быть усечены
    • Нет потоковой передачи: Результаты возвращаются после завершения

    Комбинирование с другими инструментами

    Инструмент bash наиболее мощен при комбинировании с текстовым редактором и другими инструментами.

    Следующие шаги

    Обзор tool use

    Узнайте об использовании инструментов с Claude

    Инструмент текстового редактора

    Просмотр и редактирование текстовых файлов с Claude

    Was this page helpful?

    • Обзор
    • Совместимость моделей
    • Варианты использования
    • Быстрый старт
    • Как это работает
    • Параметры
    • Пример: Многошаговая автоматизация
    • Реализация инструмента bash
    • Обработка ошибок
    • Следуйте лучшим практикам реализации
    • Безопасность
    • Ключевые рекомендации
    • Цены
    • Распространенные паттерны
    • Рабочие процессы разработки
    • Операции с файлами
    • Системные задачи
    • Ограничения
    • Комбинирование с другими инструментами
    • Следующие шаги