Raycast 터미널 & 스크립트 명령어 2026: 런처에서 코드 실행하기

2026년 3월 3일 게시 • 12분 읽기

대부분의 개발자는 터미널에서 살다시피 합니다. Git 커밋, Docker 컨테이너, 배포 스크립트, npm 명령어 — 모두 손에 익은 일상입니다. 그런데 Raycast와 터미널 창 사이를 하루에도 수십 번 오가다 보면 불필요한 마찰이 생깁니다. Raycast 스크립트 명령어를 사용하면 터미널 창 없이도 Raycast 런처에서 바로 쉘 명령어, bash 스크립트, Python 코드 등을 실행할 수 있습니다.

이 가이드에서는 2026년 기준 Raycast에서 터미널 명령어를 실행하는 모든 것을 다룹니다: 스크립트 명령어 작동 방식, 지원 언어, 바로 활용할 수 있는 실용적인 예제, 그리고 기존 터미널 워크플로우와의 통합 방법. Raycast가 처음이라면 Raycast 설정 가이드를 먼저 읽고 돌아오세요.

Raycast 스크립트 명령어란?

스크립트 명령어는 Raycast가 커맨드 팔레트에서 직접 실행할 수 있는 독립 스크립트 파일입니다. UI 레이어가 얹힌 사용자 정의 터미널 명령어라고 생각하면 됩니다. 원하는 언어로 스크립트를 작성하고 특별한 메타데이터 헤더를 추가하면, Raycast가 이를 검색 가능하고 실행 가능한 명령어로 바꿔줍니다.

React와 TypeScript를 사용하는 완전한 Raycast 확장 프로그램과 달리, 스크립트 명령어는 빌드 단계, 의존성, 프로젝트 설정이 필요 없는 단순 파일입니다. 이 덕분에 빠른 자동화와 임시 작업에 이상적입니다.

지원 언어

Raycast 스크립트 명령어는 macOS에서 shebang 라인으로 실행 가능한 모든 언어를 지원합니다:

  • Bash / Zsh — 시스템 명령어와 빠른 자동화에 가장 많이 쓰이는 선택
  • Python — HTTP 요청, JSON 파싱, 데이터 처리가 필요한 스크립트에 적합
  • Ruby — 텍스트 처리와 스크립팅에 인기
  • Swift — macOS 시스템 API에 네이티브로 접근 가능
  • AppleScript — Finder, Safari, Mail, 시스템 설정 등 macOS 앱 제어
  • Node.js — JavaScript 기반 스크립트는 #!/usr/bin/env node 사용

Mac에 인터프리터가 설치되어 있고 shebang 라인을 지원하는 언어라면 Raycast에서 작동합니다. 대부분의 개발자는 시스템 명령어에는 Bash, 더 복잡한 작업에는 Python을 사용합니다.

첫 번째 스크립트 명령어 만들기

1단계: 스크립트 디렉토리 추가

Raycast를 열고 설정(Cmd + ,)으로 이동한 후 확장 프로그램 탭에서 + 버튼을 클릭합니다. "스크립트 디렉토리 추가"를 선택하고 스크립트를 저장할 폴더를 지정합니다. ~/.raycast-scripts/나 버전 관리를 위한 Git 저장소를 사용하는 것을 추천합니다.

2단계: 스크립트 파일 생성

스크립트 디렉토리에 새 파일을 만듭니다. 다음은 현재 Git 브랜치를 보여주는 간단한 Bash 예제입니다:

#!/bin/bash

# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title Current Git Branch
# @raycast.mode inline
# @raycast.packageName Git

# Optional parameters:
# @raycast.icon 🌿
# @raycast.description Show the current Git branch

cd ~/Projects/my-repo && git branch --show-current

상단의 메타데이터 주석은 Raycast에게 명령어를 어떻게 표시하고 실행할지 알려줍니다. 주요 필드는 다음과 같습니다:

  • @raycast.title — Raycast 커맨드 팔레트에 표시되는 이름
  • @raycast.mode — 출력 표시 방식: inline(Raycast에 표시), compact(간단한 알림), fullOutput(스크롤 가능한 출력), silent(출력 없음)
  • @raycast.packageName — 관련 스크립트를 그룹화

3단계: 실행 권한 부여

스크립트에 실행 권한을 부여하는 것을 잊지 마세요:

chmod +x ~/.raycast-scripts/current-git-branch.sh

Raycast는 구성된 디렉토리에서 새 스크립트를 자동으로 감지합니다. Raycast를 열고 스크립트 제목을 입력하면 즉시 나타납니다.

인수를 사용한 사용자 입력

스크립트 명령어는 실행 전에 Raycast가 사용자에게 입력을 요청하는 인수를 지원합니다. 이를 통해 단순한 스크립트가 대화형 도구로 변합니다:

#!/bin/bash

# @raycast.schemaVersion 1
# @raycast.title Git Commit
# @raycast.mode compact
# @raycast.packageName Git
# @raycast.argument1 { "type": "text", "placeholder": "커밋 메시지" }

cd ~/Projects/my-repo && git add -A && git commit -m "$1"

이 명령어를 실행하면 Raycast가 커밋 메시지를 입력할 텍스트 필드를 보여줍니다. 입력 후 Enter를 누르면 스크립트가 입력값을 $1로 받아 실행됩니다. 스크립트당 최대 세 개의 인수를 정의할 수 있습니다.

개발자를 위한 최고의 스크립트 명령어 예제

스크립트 명령어가 진정으로 유용해지는 곳이 여기입니다. 자신의 워크플로우에 맞게 응용할 수 있는 실용적인 예제들입니다.

Git 단축키

일상적인 Git 작업을 위해 터미널로 전환하는 것을 중단하세요:

  • 빠른 커밋 — 모든 변경사항을 스테이징하고 메시지 인수로 커밋
  • 최신 풀 — 현재 프로젝트에서 git pull --rebase origin main 실행
  • 브랜치 생성 — 브랜치 이름 인수를 받아 브랜치를 생성하고 체크아웃
  • 상태 표시 — Raycast 내에서 인라인으로 git status --short 표시
  • 스태시 / 팝 — 한 번의 키로 스태시하고 복원
#!/bin/bash

# @raycast.schemaVersion 1
# @raycast.title Git Pull Rebase
# @raycast.mode compact
# @raycast.packageName Git
# @raycast.icon 🔄

cd ~/Projects/my-repo && git pull --rebase origin main
echo "main에서 풀 및 리베이스 완료"

Docker 명령어

작업 흐름을 끊지 않고 컨테이너를 관리하세요:

  • 실행 중인 컨테이너 목록fullOutput 모드로 docker ps --format "table {{.Names}}\t{{.Status}}" 실행
  • 모든 컨테이너 중지docker stop $(docker ps -q)
  • 재빌드 및 재시작docker-compose down && docker-compose up -d --build
  • 미사용 이미지 정리 — 디스크 공간 확보를 위한 docker system prune -af

npm 및 패키지 매니저 스크립트

어디서든 프로젝트 스크립트를 실행하세요:

#!/bin/bash

# @raycast.schemaVersion 1
# @raycast.title NPM Dev Server
# @raycast.mode silent
# @raycast.packageName Node.js
# @raycast.icon 📦

cd ~/Projects/my-app && open -a Terminal && osascript -e 'tell app "Terminal" to do script "cd ~/Projects/my-app && npm run dev"'

시스템 유지보수

  • DNS 플러시sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
  • Homebrew 캐시 정리brew cleanup --prune=all
  • 디스크 사용량 확인 — 빠른 디스크 공간 확인을 위한 df -h / | tail -1
  • 이름으로 프로세스 종료 — 프로세스 이름 인수를 받아 pkill -f "$1" 실행
  • 휴지통 비우기 — 확인 단계를 거쳐 rm -rf ~/.Trash/* 실행

배포 스크립트

터미널이나 브라우저를 열지 않고 배포를 트리거하세요:

#!/bin/bash

# @raycast.schemaVersion 1
# @raycast.title Deploy to Production
# @raycast.mode compact
# @raycast.packageName Deploy
# @raycast.icon 🚀
# @raycast.description Push main branch and trigger deploy

cd ~/Projects/my-app && git push origin main
echo "main에 푸시됨. 배포가 트리거되었습니다."

Python 스크립트 예제

기본 쉘 명령어를 넘어서는 작업에는 Python이 좋은 선택입니다. 공용 IP를 가져오는 스크립트입니다:

#!/usr/bin/env python3

# @raycast.schemaVersion 1
# @raycast.title My Public IP
# @raycast.mode inline
# @raycast.packageName Network
# @raycast.icon 🌐

import urllib.request
ip = urllib.request.urlopen('https://api.ipify.org').read().decode()
print(ip)

Run Script 확장 프로그램

스크립트 명령어 외에도 Raycast Store에는 런처에 터미널 기능을 가져오는 확장 프로그램이 있습니다. Terminal 확장 프로그램은 터미널 프로필을 검색하고 열 수 있습니다. 커뮤니티 확장 프로그램 중에는 쉘 히스토리, SSH 연결, 공통 CLI 도구에 빠르게 접근하는 것들도 있습니다.

터미널 워크플로우를 보완하는 더 많은 도구는 최고의 Raycast 확장 프로그램 목록을 참고하세요. Brew 확장 프로그램 같은 경우 터미널 없이 Raycast 안에서 바로 Homebrew 패키지를 검색, 설치, 관리할 수 있습니다.

Raycast와 VS Code 및 터미널 통합

Raycast와 터미널이 별개의 세계일 필요는 없습니다. 두 도구를 연결하는 방법을 소개합니다:

VS Code에서 프로젝트 열기

특정 프로젝트를 열거나 경로 인수를 받아 VS Code에서 여는 스크립트 명령어를 만드세요:

#!/bin/bash

# @raycast.schemaVersion 1
# @raycast.title Open in VS Code
# @raycast.mode silent
# @raycast.packageName Dev
# @raycast.argument1 { "type": "text", "placeholder": "프로젝트 폴더 이름" }

code ~/Projects/$1

터미널 워크플로우를 위한 퀵링크

Raycast 퀵링크로 터미널 명령어를 즉시 열 수 있습니다. terminal:// URL 스킴이나 iTerm2를 사용한다면 iterm:// 스킴으로 퀵링크를 만드세요. 간단하고 자주 쓰는 명령어에는 스크립트 명령어보다 더 빠릅니다.

스크립트 명령어와 Raycast AI 결합

Raycast Pro를 사용한다면 AI 명령어와 스크립트 명령어를 결합해 강력한 워크플로우를 만들 수 있습니다. Raycast AI에게 bash 한 줄짜리 명령어를 생성해 달라고 한 다음 스크립트 명령어로 실행하세요. 또는 AI를 사용해 실패한 스크립트의 오류 출력을 설명받을 수도 있습니다. AI가 생각하고 스크립트 명령어가 실행하는 자연스러운 조합입니다.

아직 Pro가 아니신가요? 80% 할인과 무료 체험으로 Raycast Pro를 사용해보세요. 스크립트 워크플로우와 함께 AI 기능을 잠금 해제하세요.

스크립트 명령어 vs. 확장 프로그램: 언제 무엇을 사용할까

스크립트 명령어와 완전한 확장 프로그램 모두 코드를 실행할 수 있지만, 각각 다른 목적을 가집니다:

  • 스크립트 명령어를 사용할 때: 빠른 자동화가 필요할 때, 작업이 한 줄이나 짧은 스크립트일 때, 풍부한 UI가 필요 없을 때, TypeScript 대신 Bash/Python을 사용하고 싶을 때
  • 확장 프로그램을 사용할 때: 대화형 목록, 양식, 상세 보기가 필요할 때, 복잡한 상태 관리가 필요할 때, Raycast Store에 게시하고 싶을 때, 실시간 업데이트와 로딩 상태가 필요할 때

실제로 대부분의 개발자는 둘 다 사용합니다. 스크립트 명령어는 빠르고 간단한 터미널 작업을 처리합니다. 확장 프로그램은 매일 사용하고 세련된 경험을 원하는 도구를 처리합니다. 완전한 확장 프로그램 개발에 관심이 있다면 Raycast API 개발자 가이드를 확인하세요.

더 나은 스크립트 명령어 작성 팁

긴 출력에는 fullOutput 모드 사용

스크립트가 두 줄 이상의 결과를 반환한다면 @raycast.mode fullOutput을 사용해 Raycast 안에서 스크롤 가능하게 하세요. inline 모드는 긴 출력을 잘라냅니다.

오류를 우아하게 처리

스크립트가 조용히 실패하지 않도록 오류 검사를 추가하세요. Bash에서의 간단한 패턴:

#!/bin/bash
# ... raycast 메타데이터 ...

if ! command -v docker &> /dev/null; then
  echo "오류: Docker가 설치되지 않았습니다"
  exit 1
fi

docker ps --format "table {{.Names}}\t{{.Status}}"

환경 변수 사용

API 키나 토큰이 필요한 스크립트는 하드코딩 대신 환경 변수에 저장하세요. Raycast는 쉘 환경을 상속하므로 .zshrc.bash_profile에 있는 모든 것에 접근할 수 있습니다.

스크립트 버전 관리

스크립트 명령어 디렉토리를 Git 저장소로 유지하세요. 이를 통해 여러 컴퓨터 간에 스크립트를 동기화하고, 변경사항을 추적하고, 팀원과 공유할 수 있습니다. GitHub의 Raycast 커뮤니티 script-commands 저장소에는 영감을 얻을 수 있는 수백 가지 예제가 있습니다.

Raycast 스니펫과 결합

터미널에서 자주 입력하는 명령어라면 스크립트 명령어 대신 Raycast 스니펫을 사용하는 것을 고려해보세요. 스니펫은 Mac 어디서나 텍스트를 확장합니다 — 키워드를 입력하면 더 긴 명령어로 대체됩니다. 실행에는 스크립트 명령어를, 텍스트 확장에는 스니펫을 사용하세요.

터미널 워크플로우에서 Raycast 최대한 활용하기

스크립트 명령어는 퍼즐의 한 조각일 뿐입니다. 완전한 Raycast 터미널 워크플로우에는 다음이 포함될 수 있습니다:

  • 스크립트 명령어 — 쉘 스크립트와 자동화 실행
  • 퀵링크 — 프로젝트 디렉토리 이동 또는 터미널 프로필 열기
  • 스니펫 — 자주 입력하는 명령어 확장
  • 클립보드 히스토리 — 이전에 복사한 터미널 출력 가져오기
  • AI 명령어 (Pro) — 스크립트 생성 및 오류 디버깅
  • 확장 프로그램 — Brew, GitHub, Docker 등 개발자 도구용

아직 Raycast를 설정하지 않았다면 Raycast Pro 할인 페이지에서 최신 최고 할인을 확인하세요. 그리고 스크립트 명령어 같은 고급 기능을 살펴보기 전에 Raycast란 무엇인지 안내하는 가이드에서 기본 사항을 먼저 파악하세요.

자주 묻는 질문

Raycast 스크립트 명령어에서 어떤 언어를 사용할 수 있나요?

Raycast는 기본적으로 Bash, Python, Ruby, Swift, AppleScript를 지원합니다. macOS에서 실행되고 shebang 라인이 있는 모든 언어가 작동합니다 — Node.js, PHP, Perl 등도 포함됩니다. Bash와 Python이 단연 가장 인기 있는 선택입니다. 시스템에 인터프리터가 설치되어 있고 스크립트 파일이 실행 가능한지 확인하세요.

스크립트 명령어와 Raycast 확장 프로그램의 차이는 무엇인가요?

스크립트 명령어는 빌드 단계나 의존성 없이 Raycast에서 직접 실행되는 독립 스크립트 파일(Bash, Python 등)입니다. 빠른 터미널 자동화에 완벽합니다. 확장 프로그램은 풍부한 UI 컴포넌트(목록, 양식, 상세 보기, 액션 패널)를 갖춘 완전한 React/TypeScript 애플리케이션입니다. 텍스트 출력을 생성하는 간단한 작업에는 스크립트 명령어를, 대화형 인터페이스가 필요할 때는 확장 프로그램을 사용하세요.

Raycast 스크립트 명령어에서 사용자 입력을 받을 수 있나요?

네. 스크립트 메타데이터 헤더에서 @raycast.argument1, @raycast.argument2, @raycast.argument3 필드를 사용해 최대 세 개의 인수를 정의할 수 있습니다. 각 인수는 유형과 자리표시자 텍스트를 지정합니다. 명령어를 실행하면 Raycast가 각 인수의 입력 필드를 보여줍니다. 값은 위치 매개변수(Bash에서 $1, $2, $3) 또는 환경 변수로 스크립트에 전달됩니다.

스크립트 명령어를 사용하려면 Raycast Pro가 필요한가요?

아니요. 스크립트 명령어는 제한 없이 무료 Raycast 플랜에서 이용할 수 있습니다. 유료 구독 없이도 무제한으로 스크립트 명령어를 생성, 가져오기, 실행할 수 있습니다. 다만 Raycast Pro는 스크립트 기반 워크플로우와 잘 어울리는 AI 명령어와 클라우드 동기화 기능을 추가로 제공합니다 — 특히 스크립트 생성 및 디버깅을 위한 AI는 매우 유용합니다. 현재 Pro 할인을 여기서 받으세요.

스크립트 명령어를 팀과 공유하려면 어떻게 해야 하나요?

스크립트 명령어는 디스크의 일반 파일이므로 공유가 간단합니다. 가장 좋은 방법은 팀원들이 클론해서 Raycast에 지정할 수 있는 공유 Git 저장소에 스크립트를 보관하는 것입니다. Raycast 커뮤니티는 수백 개의 커뮤니티 기여 스크립트가 있는 오픈 소스 script-commands GitHub 저장소도 운영합니다. 스크립트를 가져오려면 Raycast에서 스크립트 명령어 폴더로 구성된 디렉토리에 파일을 넣으면 됩니다.

Raycast Pro 80% 할인 받기

14일 무료 체험. 쿠폰 코드 불필요. 할인이 자동으로 적용됩니다.

할인 받기 →

관련 글