스크립트Script
스크립트는 컴퓨터에게 시킬 명령을 순서대로 적어 둔 텍스트 파일입니다. 한 번 만들어 두면 명령 한 줄로 언제든 같은 순서로 다시 실행할 수 있고, 입력이 같으면 결과도 같습니다.
- 이럴 때 만납니다
- AI가 '이 작업을 backup.sh 로 만들었습니다. bash backup.sh 로 실행하세요'라고 할 때. 폴더에 .sh 나 .py 로 끝나는 파일이 생겼을 때.
- 프롬프트에 쓰는 이름
- Script · 다른 이름: 쉘 스크립트, Shell Script, .sh, 파이썬 스크립트, .py, 배치 파일
요리로 치면 레시피 카드입니다. 적힌 순서대로 하면 매번 같은 요리가 나옵니다. 스크립트도 같아서 입력이 같으면 결과도 같습니다.
- mkdir -p backup백업 폴더 준비
- zip -r backup/inbox-0925.zip inbox받은 파일 3개 압축
- echo "백업 완료"끝난 시각 기록
어떤 종류가 있나요
- 쉘 스크립트(
.sh): 터미널에 치는 명령을 그대로 모아 둔 파일입니다. 파일 옮기기, 압축하기, 다른 프로그램 실행하기처럼 짧은 작업에 씁니다.bash 파일이름.sh로 실행합니다. - 파이썬 스크립트(
.py): 파이썬 언어로 쓴 파일입니다. 표 읽기, 계산, 웹에서 데이터 받기처럼 조금 복잡한 처리에 씁니다.python3 파일이름.py로 실행하고, 컴퓨터에 파이썬이 설치돼 있어야 합니다.
#!/bin/bash
# backup-inbox.sh: 받은 파일 폴더를 날짜 이름으로 압축해 둔다
set -e
mkdir -p "$HOME/work/backup"
zip -r "$HOME/work/backup/inbox-$(date +%Y-%m-%d).zip" "$HOME/work/inbox"
echo "$(date '+%F %T') 백업 완료"
#으로 시작하는 줄은 사람이 읽는 설명이고, set -e는 중간에 명령 하나가 실패하면 거기서 멈추라는 뜻입니다.
AI에게 매번 시키는 것과 무엇이 다른가요
AI에게 대화로 시키면 매번 파일을 읽고 방법을 새로 정합니다. 사용량이 들고 가끔 다르게 처리합니다. 스크립트는 한 번 만든 뒤에는 모델을 부르지 않고 같은 순서로 돕니다. 그래서 매일 반복하는 정해진 절차(파일 받기, 형식 바꾸기, 합계 내기)는 AI에게 스크립트를 한 번 짜게 하고 그 스크립트를 돌리는 편이 낫습니다. 정해진 시각에 자동으로 돌리려면 크론에 등록합니다.
어떤 일을 스크립트로, 어떤 일을 AI에게 맡길지 가르는 기준은 모든 걸 AI에게 시키지 않기: 스크립트·크론으로 돌릴 일 가르기에 정리했습니다.
AI에게 시키기
(매일 받은 엑셀 파일을 CSV로 바꾸는) 일을 스크립트로 만들어 줘.
- AI 호출 없이 스크립트만으로 처리해 줘
- 이미 처리한 파일은 건너뛰어서, 멈춰도 다시 실행하면 이어서 하게 해 줘
- 실행할 때마다 시각과 결과를 logs 폴더의 기록 파일에 한 줄씩 남겨 줘. logs 폴더가 없으면 먼저 만들어 줘
- 키나 비밀번호는 코드에 적지 말고 환경변수로 받아 줘
- 다 만들면 한 번 실행해서 결과를 보여 주고 실행 명령을 알려 줘
혼동 주의
- 스크립트 vs 프로그램(앱): 둘의 경계는 흐릿합니다. 보통 짧고 한 가지 일을 순서대로 처리하는 파일을 스크립트라고 부릅니다.
- 비밀 값은 스크립트 밖에. API 키를 스크립트에 직접 적으면 파일을 공유하는 순간 새어 나갑니다. 환경변수로 빼 두세요.
- 이어서 할 수 있게 만드세요. 오래 걸리는 스크립트는 중간에 멈출 수 있습니다. "이미 끝난 건 건너뛰기"를 처음부터 넣어 두면 다시 실행만 하면 됩니다.
