자료실 유틸

shfmt 3.14.1 Windows x64 다운로드·사용법 (프로그래머용 셸 스크립트 정리)

첨부파일 2

대상 사용자: 프로그래머. Bash·POSIX 셸 스크립트의 들여쓰기와 배치를 일정하게 만들고, 저장소에서 포맷 차이를 확인하려는 분을 위한 안내입니다. Windows용 공식 실행 파일을 ZIP으로 첨부했습니다. Windows에서 프로그램을 실행해 파일을 정리할 수 있지만, 셸 스크립트를 실행하려면 Bash 또는 호환 셸이 별도로 필요합니다.

첨부와 공식 출처

  • shfmt-v3.14.1-windows-amd64-official.zip: 제작사 릴리스의 Windows x64 실행 파일을 바이트 변경 없이 담았습니다. 원본 실행 파일의 SHA-256은 13629ce28442ca80b6b5a819f7574ab39e1c28c6e26734ca816c9714e04851df입니다. 상위 프로젝트의 BSD-3-Clause LICENSE와 출처·해시 안내도 함께 있습니다.
  • shfmt-korean-guide-practice.zip: 이 한국어 설명서의 Markdown·HTML 판과 변경 전 실습용 셸 스크립트, 연습 지침, 라이선스 고지문이 있습니다.

직접 내려받으려면 공식 Windows x64 원본을 이용하세요. 명령 옵션은 제작사 사용 설명을 기준으로 작성했습니다. 원본 실행 파일은 BSD-3-Clause 조건에 따라 재배포하며 원문 고지를 ZIP에 보존했습니다.

설치 및 첫 실행

  1. 공식 원본 ZIP을 신뢰할 수 있는 작업 폴더에 압축 해제합니다. 예: C:\Tools\shfmt. 설치 마법사는 없습니다.
  2. PowerShell에서 Get-FileHash .\shfmt_v3.14.1_windows_amd64.exe -Algorithm SHA256을 실행하고 위 해시와 대조합니다. ZIP 안의 SOURCE-ORIGIN.txt에도 같은 값이 있습니다.
  3. 같은 폴더에서 .\shfmt_v3.14.1_windows_amd64.exe --version을 실행해 v3.14.1을 확인합니다. 매번 전체 이름을 입력하기 번거로우면, 검증 후 개인 작업 폴더에서 실행 파일 이름을 shfmt.exe로 바꿔 사용할 수 있습니다. 원본 ZIP은 그대로 보관하세요.

읽기 전용 점검과 실제 정리

실습 ZIP의 practice\unformatted.sh를 복사한 뒤, PowerShell에서 다음을 순서대로 실행합니다. 아래 예제는 이름을 shfmt.exe로 바꿨다고 가정합니다.

.\shfmt.exe -d .\unformatted.sh
.\shfmt.exe -w .\unformatted.sh
.\shfmt.exe -d .\unformatted.sh

-d는 포맷 차이를 출력하고 차이가 있으면 종료 코드 1을 반환하므로, 첫 호출이 PowerShell에 실패처럼 표시되는 것은 예상한 결과입니다. -w는 파일을 실제로 덮어쓰므로 원본이 아닌 복사본에 먼저 사용하세요. 마지막 -d는 차이가 없어 빈 출력을 내야 합니다. 출력만 보고 싶으면 -w 없이 .\shfmt.exe .\unformatted.sh를 사용합니다. 프로젝트 전체를 검사할 때 -d .를 사용할 수 있지만, 실행 전 대상 디렉터리에 포함된 스크립트 범위를 확인하세요. 들여쓰기를 공백 두 칸으로 지정하려면 -i 2를 추가할 수 있습니다.

문제 해결

  • 실행 파일을 찾을 수 없음: PowerShell에서 현재 폴더 실행은 .\ 접두사가 필요합니다. 압축을 푼 위치와 파일명을 다시 확인하세요.
  • 해시가 다름: 파일을 실행하지 말고 ZIP과 공식 릴리스의 버전·아키텍처를 다시 확인한 후 새로 다운로드하세요.
  • 구문 오류: 셸 종류가 자동 판별되지 않으면 -ln bash 또는 -p(POSIX)를 명시하고 해당 스크립트가 실제로 어떤 셸을 대상으로 하는지 확인하세요. 포맷터는 스크립트의 동작을 검증하는 테스트를 대신하지 않습니다.
  • 첫 -d가 종료 코드 1: 포맷 차이가 발견되었다는 뜻일 수 있습니다. 표시된 diff를 읽고, 수정을 원할 때만 -w를 실행하세요.

라이선스와 범위

공식 실행 파일과 상위 프로젝트는 BSD-3-Clause이며 원문 LICENSE-UPSTREAM.txt를 공식 원본 ZIP에 포함했습니다. 한국어 설명서와 실습 파일은 CC0-1.0입니다. 작성 시점의 공식 릴리스 버전과 해시는 위 링크에서 다시 확인할 수 있습니다. 이 안내는 Windows x64 단일 실행 파일 기준이며 다른 아키텍처용 파일과 셸 런타임은 첨부하지 않았습니다.

목록으로

처리 중입니다...

잠시만 기다려주세요.