Skip to content

Repository files navigation

transpath

Windows 경로(PowerShell/CMD) ↔ Git Bash/POSIX 경로를 양방향 변환하는 단일 C++ 바이너리. PowerShell과 Git Bash를 오갈 때 경로 형식을 손으로 고치는 번거로움을 없애줍니다.

C:\Users\me\proj   <->   /c/Users/me/proj

설치 (Install)

GitHub Release에서 OS/arch에 맞는 바이너리를 받아 SHA256 무결성 검증 후 설치합니다.

Linux / Git Bash (bash)

# 현재 디렉토리에 설치
curl -fsSL https://raw.githubusercontent.com/bn3monkey/transpath/main/script/install.sh | bash

# 설치 위치 지정
curl -fsSL https://raw.githubusercontent.com/bn3monkey/transpath/main/script/install.sh | bash -s -- ./tools

또는 스크립트를 받아서:

./script/install.sh [설치_디렉토리]      # 기본: 현재 디렉토리

Windows (PowerShell)

irm https://raw.githubusercontent.com/bn3monkey/transpath/main/script/install.ps1 | iex
# 또는
./script/install.ps1 -Dest .\tools

옵션 (환경변수)

변수 기본값 설명
TRANSPATH_REPO bn3monkey/transpath GitHub 저장소 슬러그
TRANSPATH_VERSION latest 설치할 릴리스 태그 (예: v0.1.0)
TRANSPATH_VERSION=v0.1.0 ./script/install.sh /usr/local/bin

설치 스크립트는 SHA256SUMS로 무결성을 검증하며, 체크섬이 일치하지 않으면 설치를 중단합니다.

사용법 (Usage)

명령 입력 동작 출력
transpath linux 클립보드 Windows→Bash 변환 후 클립보드에 되쓰기 원본 -> 변환
transpath windows 클립보드 Bash→Windows 변환 후 클립보드에 되쓰기 원본 -> 변환
transpath linux <path> 인자 인자를 Bash 경로로 변환 변환 결과 한 줄
transpath windows <path> 인자 인자를 Windows 경로로 변환 변환 결과 한 줄

클립보드 모드

탐색기/터미널에서 복사한 경로를 변환해 다시 클립보드에 넣습니다. 바로 붙여넣기만 하면 됩니다.

# 클립보드: C:\Windows\System32
$ transpath linux
C:\Windows\System32 -> /c/Windows/System32
# 클립보드가 /c/Windows/System32 로 교체됨

# 변환 불가한 내용이면
$ transpath linux
Invalid clipboard

인자 모드 (셸 치환용)

결과를 한 줄로만 출력하므로 셸 변수에 바로 담을 수 있습니다.

$ transpath linux 'C:\Temp\build'
/c/Temp/build

$ VALUE=$(transpath windows /mnt/c/Users/me)
$ echo "$VALUE"
C:\Users\me

변환 규칙

  • Windows → Linux: C:\Users\me/c/Users/me, UNC \\srv\share//srv/share
  • Linux → Windows: /c/Users/meC:\Users\me, WSL /mnt/c/...도 인식
  • 이미 목표 형식이면 그대로 둡니다(멱등). /usr/local처럼 대응 드라이브가 없는 POSIX 절대경로는 Windows로 변환 불가.

종료 코드

코드 의미
0 성공
1 변환 실패 (Invalid clipboard)
2 사용법 오류
3 클립보드 접근 실패 (Linux에서 xclip/xsel/wl-clipboard 미설치 등)

Git Bash 참고: Git Bash(MSYS2)는 POSIX 모양의 인자를 프로그램에 넘기기 전에 Windows 경로로 자동 변환합니다. 인자 모드로 POSIX 경로를 넘길 때는 MSYS_NO_PATHCONV=1 transpath ...를 쓰거나 PowerShell에서 실행하세요. 클립보드 모드는 이 영향을 받지 않습니다.

소스에서 빌드 (Build from source)

요구: CMake ≥ 3.20, C++17 컴파일러. 테스트용 GoogleTest는 빌드 시 자동으로 받습니다.

Windows (MSVC)

bash script/generate-msvc-build-script.sh   # 환경 자동탐색 → script/build.sh 생성
bash script/build.sh                          # 빌드 (--rebuild / --clean 옵션)
# 산출물: bin/windows/<arch>/transpath.exe

Linux

cmake -S . -B out/build/linux -DCMAKE_BUILD_TYPE=Release
cmake --build out/build/linux
# 산출물: bin/linux/<arch>/transpath

테스트 실행

# 빌드 후 생성된 테스트 러너 실행 (GoogleTest)
<build_dir>/test/runner/<os>/transpath_test_runner

프로젝트 구조

src/          코어 (경로 탐지/변환, OS 비의존)
app/<os>/     실행 파일 (main + OS별 클립보드 구현)
test/         GoogleTest 단위 테스트
bin/<os>/<arch>/   빌드 산출물

자세한 설계는 architecture.html, 기여/세션 컨텍스트는 CLAUDE.md를 참고하세요.

License

MIT

About

easy path changer from unix path to windows path and vice versa

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages