라이프스타일

codex exec와 스크립트 연동

codex exec는 비대화형으로 작업 한 번을 실행합니다. 보통 stderr는 진행, stdout은 최종 답변이며 --json은 한 줄씩 JSON 이벤트를 출력합니다.

읽는 데 약 15분 · 실습 20 분

작업 흐름을 설명하는 그림이며 제품 스크린샷이 아닙니다.
사진: Mokaair (© Mokaair)
이 글의 목차
  1. 목표와 준비
  2. 1단계: 실행 진입점 확인
  3. 2단계: 독립 입력 만들기
  4. 3단계: 출력 저장 후 즉시 종료 상태 기록
  5. 4단계: 실패를 답변으로 채택하지 않기
  6. 문제 해결·복원·다음 단계

목표와 준비

이 단락의 학습 자료:

1단계: 실행 진입점 확인

codex exec는 터미널 명령이며 데스크톱 대화의 슬래시 명령이 아닙니다. Windows는 PowerShell, macOS는 Terminal, Linux는 터미널을 사용합니다. WSL에서는 내부에 설치·인증하며 Windows 로그인이 동기화됐다고 가정하지 마세요. 데스크톱·IDE 터미널에서도 CLI를 실행할 수 있습니다. 휴대전화 대화는 이 로컬 프로세스가 아니므로 CLI를 실행할 컴퓨터나 관리되는 원격 환경이 필요합니다. 모든 OS에서 다음 두 줄로 실제 버전의 플래그 지원을 확인하세요.

CLI 버전과 exec 도움말 확인 · sh
codex --version
codex exec --help
진입점실습 내용용도
터미널codex exec비대화형 실행 한 번 시작
요청 인수Read tasks.md…에이전트 목표 지정
stdout최종 답변텍스트로 저장
stderr진행·진단글이 있다고 실패는 아님
종료 상태정수0은 정상 종료이며 답변 검증도 필요

편에서 stdout 형식을 바꿉니다. 여기서는 일반 텍스트를 쓰며 진단 파일이 비었거나 Done이라는 답변만으로 성공을 판단하지 않습니다.

2단계: 독립 입력 만들기

연습 위치에 새 exec-lab 폴더를 만들어 편집기로 여세요. 같은 이름에 기존 파일이 있으면 다른 빈 폴더를 고릅니다. UTF-8 tasks.md에 아래 내용을 저장하세요. 운영 프로젝트·비공개 로그·사용자 폴더 전체 대신 손으로 검산할 작은 목록이면 충분합니다. 해당 폴더의 터미널에서 Git을 초기화하며 커밋·원격 저장소·GitHub 계정은 필요 없습니다.

exec-lab/tasks.md · markdown
# Practice tasks
Revision: exec-practice-1

- [x] Read the guide
- [ ] Create a practice file
- [ ] Verify the result
모든 OS에서 exec-lab 안에서 실행 · sh
git init
git status --short

tasks.md가 추적되지 않은 파일로 보여야 합니다. Git 초기화는 CLI 작업 위치 확인을 만족할 뿐 업로드하지 않습니다. 버전 exec-practice-1, 전체 3, 완료 1, 미완료 2를 따로 기록하세요. 다음 요청에 답을 넣지 않아야 실제 입력을 읽었는지 확인할 수 있습니다. 다른 파일이 보이면 으로 위치를 확인하세요.

3단계: 출력 저장 후 즉시 종료 상태 기록

OS에 맞는 명령 묶음을 고르세요. report-01.md, stdout-01.txt, stderr-01.log(macOS/Linux는 tasks-before.md도)가 없는지 확인하고 두 번째 시도는 02로 바꿔 오래된 답변을 새 성공으로 오인하지 않게 합니다. 읽기 전용 샌드박스는 에이전트 수정을 제한하지만 shell 리디렉션과 -o는 지정 보고서를 씁니다. --ephemeral은 세션 저장을 생략할 뿐 사용량이 없거나 이 세 파일을 만들지 않는다는 뜻은 아닙니다.

Windows PowerShell · powershell
$practiceBefore = (Get-FileHash -LiteralPath tasks.md -Algorithm SHA256).Hash
codex exec --sandbox read-only --ephemeral -o report-01.md 'Read tasks.md. Report its revision and the total, completed and pending checkbox counts. Do not edit input files or use external tools.' 1> stdout-01.txt 2> stderr-01.log
$practiceExit = $LASTEXITCODE
$practiceExit
Get-Content -LiteralPath report-01.md
$practiceBefore -eq (Get-FileHash -LiteralPath tasks.md -Algorithm SHA256).Hash
macOS / Linux shell · sh
cp tasks.md tasks-before.md
codex exec --sandbox read-only --ephemeral -o report-01.md 'Read tasks.md. Report its revision and the total, completed and pending checkbox counts. Do not edit input files or use external tools.' > stdout-01.txt 2> stderr-01.log
practice_exit=$?
printf '%s\n' "$practice_exit"
cat report-01.md
cmp tasks-before.md tasks.md

요청의 external tools는 외부 서비스를 뜻하며 로컬 파일 읽기 도구는 사용할 수 있습니다. 다음 외부 명령이 상태를 바꾸기 전에 종료 상태를 저장하세요. 성공 조건은 종료 0, 올바른 버전과 3/1/2, 입력 불변입니다. PowerShell 마지막 줄은 True여야 하며 macOS/Linux의 cmp는 같으면 출력 없이 0으로 종료합니다. 답변 언어·표현이 달라도 수치와 근거가 맞으면 통과입니다.

4단계: 실패를 답변으로 채택하지 않기

모든 OS의 잘못된 인수 실습 · sh
codex exec --sandbox invalid 'Read tasks.md'

인수 해석 단계에서 거부되어 새 모델 답변이 없어야 합니다. 직후 PowerShell은 $LASTEXITCODE, macOS/Linux는 echo $?로 0이 아닌지 확인합니다. 이전 report-01.md가 남아도 이번 실행 성공 증거가 아닙니다. read-only로 수정해 재시도하려면 새 출력 이름과 종료 상태를 기록하세요. 오류를 없애려고 권한·샌드박스를 우회하지 말고 인수·인증·사용량·입력 누락을 구분해 고칩니다.

결과를 두 줄로 기록합니다. 읽기 실행에는 실제 파일명·종료 상태·개수를 적고 잘못된 플래그 시도에는 인수 해석 실패, 새 답변 없음을 적으세요. report-01.md가 남아 있다는 것은 이전 파일 보존만 증명합니다. 모델을 실행하지 않았다면 미실행으로 남기고 잘못된 플래그만 독립적으로 시험할 수 있습니다.

문제 해결·복원·다음 단계

codex를 찾지 못하면 설치 편에서 PATH를 확인하고 로그인을 반복하지 않습니다. Git 위치 오류는 exec-lab과 git status를 확인하며 바로 검사를 생략하지 않습니다. 인증·사용량 오류는 codex login status와 의 해당 화면에서 확인하세요. 진단의 자격 증명·사용자 경로·비공개 요청을 공개하지 마세요. 대화형 승인이 필요하면 대화 모드에서 필요한 권한을 확인한 뒤 비대화형 작업 범위를 줄입니다.

이번 종료 상태와 검증 결과를 보관하고 tasks.md를 다시 확인하세요. 정리는 자신이 만든 report·stdout·stderr와 macOS/Linux의 tasks-before.md만 파일 관리 화면에서 개별 선택합니다. 프로젝트 전체나 모든 미추적 파일을 지우지 마세요. 검증 가능한 읽기 전용 실행을 마쳤으니 다음에는 구조화 출력 검증, 이후 로 진행합니다. 플래그는 공식 문서와 CLI help로 확인했으며 참고 스크립트 통과가 모든 독자의 모델 실행 성공을 뜻하지 않습니다.

30. codex exec와 스크립트 연동 — 작업 흐름을 설명하는 그림이며 제품 스크린샷이 아닙니다. Prompt → codex exec → JSONL / report
30. codex exec와 스크립트 연동 — 작업 흐름을 설명하는 그림이며 제품 스크린샷이 아닙니다. Prompt → codex exec → JSONL / report · 사진: Mokaair (© Mokaair)
자세한 설명 보기

Prompt to codex exec to JSONL / report

전체 목차

  • 라이프스타일

    Codex 학습 센터: 전체 튜토리얼 목차

    설치와 첫 작업부터 MD 지침과 고급 연동까지 60개 강의, 열 개 단원을 계획합니다. 수준, 환경, 목표, 명령으로 다음 글을 찾고 미게시 항목의 상태를 확인할 수 있습니다.

  • 라이프스타일

    Worktree와 작업 격리

    Worktree는 하나의 Git 저장소에 다른 브랜치의 작업 폴더를 만듭니다. 파일이 분리되어도 DB, 포트와 외부 서비스는 공유될 수 있습니다.

  • 라이프스타일

    실습: 작은 웹사이트 만들기

    brief.md에서 Small Steps 할 일 사이트를 계획하고 추가·완료·삭제·필터·로컬 저장을 구현합니다. HTML·CSS·데이터 함수·화면 이벤트·시험을 분리하고 Node와 브라우저로 검증한 뒤 재시작·복원 인계 기록을 남깁니다.

  • 라이프스타일

    사용량과 효율: 재작업 줄이기

    조건, 모델 선택, 시간, 결과를 기록해 불필요한 재시도와 과도한 문맥을 줄입니다.

최신 여행 소식·가이드

출처

라이프스타일