Bash 도구
Claude가 지속적인 bash 세션에서 셸 명령을 실행할 수 있게 해주는 bash 도구로, 시스템 작업, 스크립트 실행, 명령줄 자동화를 가능하게 합니다.
bash 도구는 Claude가 지속적인 bash 세션에서 셸 명령을 실행할 수 있게 해주어, 시스템 작업, 스크립트 실행, 명령줄 자동화를 가능하게 합니다.
개요
bash 도구는 Claude에게 다음을 제공합니다:
- 상태를 유지하는 지속적인 bash 세션
- 모든 셸 명령을 실행할 수 있는 능력
- 환경 변수와 작업 디렉토리에 대한 접근
- 명령 체이닝 및 스크립팅 기능
도구 버전
모델 | 도구 버전 |
---|---|
Claude 4 & Sonnet 3.7 | bash_20250124 |
Claude Sonnet 3.5 | bash_20241022 |
Claude Sonnet 3.5는 bash 도구를 사용할 때 computer-use-2024-10-22
베타 헤더가 필요합니다.
bash 도구는 Claude 4와 Sonnet 3.7에서 일반적으로 사용 가능합니다.
사용 사례
- 개발 워크플로: 빌드 명령, 테스트, 개발 도구 실행
- 시스템 자동화: 스크립트 실행, 파일 관리, 작업 자동화
- 데이터 처리: 파일 처리, 분석 스크립트 실행, 데이터셋 관리
- 환경 설정: 패키지 설치, 환경 구성
빠른 시작
작동 방식
bash 도구는 지속적인 세션을 유지합니다:
- Claude가 실행할 명령을 결정합니다
- bash 셸에서 명령을 실행합니다
- 출력(stdout 및 stderr)을 Claude에게 반환합니다
- 세션 상태가 명령 간에 지속됩니다(환경 변수, 작업 디렉토리)
매개변수
매개변수 | 필수 | 설명 |
---|---|---|
command | 예* | 실행할 bash 명령 |
restart | 아니오 | bash 세션을 재시작하려면 true 로 설정 |
*restart
사용 시를 제외하고 필수
예시: 다단계 자동화
Claude는 복잡한 작업을 완료하기 위해 명령을 연결할 수 있습니다:
세션은 명령 간에 상태를 유지하므로, 2단계에서 생성된 파일이 3단계에서 사용 가능합니다.
bash 도구 구현
bash 도구는 스키마 없는 도구로 구현됩니다. 이 도구를 사용할 때 다른 도구와 달리 입력 스키마를 제공할 필요가 없습니다. 스키마는 Claude의 모델에 내장되어 있으며 수정할 수 없습니다.
bash 환경 설정
Claude가 상호작용할 수 있는 지속적인 bash 세션을 생성합니다:
명령 실행 처리
명령을 실행하고 출력을 캡처하는 함수를 생성합니다:
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 "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 도구는 텍스트 편집기 및 기타 도구와 결합할 때 가장 강력합니다.