Loading...
    • Руководство разработчика
    • Справочник API
    • MCP
    • Ресурсы
    • Примечания к выпуску
    Search...
    ⌘K
    Первые шаги
    Введение в ClaudeБыстрый старт
    Модели и цены
    Обзор моделейВыбор моделиЧто нового в Claude 4.5Миграция на Claude 4.5Устаревшие моделиЦены
    Разработка с Claude
    Обзор функцийИспользование Messages APIКонтекстные окнаЛучшие практики промптирования
    Возможности
    Кэширование промптовРедактирование контекстаРасширенное мышлениеУсилиеПотоковая передача сообщенийПакетная обработкаЦитированияМногоязычная поддержкаПодсчет токеновEmbeddingsЗрениеПоддержка PDFFiles APIРезультаты поискаСтруктурированные выходные данные
    Инструменты
    ОбзорКак реализовать использование инструментовПотоковая передача инструментов с детализациейИнструмент BashИнструмент выполнения кодаПрограммное вызывание инструментовИнструмент управления компьютеромИнструмент текстового редактораИнструмент веб-выборкиИнструмент веб-поискаИнструмент памятиИнструмент поиска инструментов
    Agent Skills
    ОбзорБыстрый стартЛучшие практикиИспользование Skills с API
    Agent SDK
    ОбзорБыстрый стартTypeScript SDKTypeScript V2 (preview)Python SDKРуководство по миграции
    MCP в API
    MCP коннекторУдаленные MCP серверы
    Claude на сторонних платформах
    Amazon BedrockMicrosoft FoundryVertex AI
    Инженерия промптов
    ОбзорГенератор промптовИспользование шаблонов промптовУлучшитель промптовБудьте ясны и прямолинейныИспользуйте примеры (многошаговое промптирование)Дайте Claude подумать (CoT)Используйте XML-тегиДайте Claude роль (системные промпты)Предзаполните ответ ClaudeЦепочка сложных промптовСоветы по длинному контекстуСоветы по расширенному мышлению
    Тестирование и оценка
    Определение критериев успехаРазработка тестовых случаевИспользование инструмента оценкиСнижение задержки
    Усиление защиты
    Снижение галлюцинацийПовышение согласованности выходных данныхСмягчение взломовПотоковые отказыСнижение утечки промптовДержите Claude в образе
    Администрирование и мониторинг
    Обзор Admin APIAPI использования и затратClaude Code Analytics API
    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 инструмент

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

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

    Обзор

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

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

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

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

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

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

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

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

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

    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 и не может быть изменена.

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

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

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

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

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

    Обзор использования инструментов

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

    import anthropic
    
    client = anthropic.Anthropic()
    
    response = client.messages.create(
        model="claude-sonnet-4-5",
        max_tokens=1024,
        tools=[
            {
                "type": "bash_20250124",
                "name": "bash"
            }
        ],
        messages=[
            {"role": "user", "content": "List all Python files in the current directory."}
        ]
    )
    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

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

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