Windows 경로(PowerShell/CMD) ↔ Git Bash/POSIX 경로를 양방향 변환하는 단일 C++ 바이너리. PowerShell과 Git Bash를 오갈 때 경로 형식을 손으로 고치는 번거로움을 없애줍니다.
C:\Users\me\proj <-> /c/Users/me/proj
GitHub Release에서 OS/arch에 맞는 바이너리를 받아 SHA256 무결성 검증 후 설치합니다.
# 현재 디렉토리에 설치
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 [설치_디렉토리] # 기본: 현재 디렉토리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로 무결성을 검증하며, 체크섬이 일치하지 않으면 설치를 중단합니다.
| 명령 | 입력 | 동작 | 출력 |
|---|---|---|---|
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/me→C:\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에서 실행하세요. 클립보드 모드는 이 영향을 받지 않습니다.
요구: CMake ≥ 3.20, C++17 컴파일러. 테스트용 GoogleTest는 빌드 시 자동으로 받습니다.
bash script/generate-msvc-build-script.sh # 환경 자동탐색 → script/build.sh 생성
bash script/build.sh # 빌드 (--rebuild / --clean 옵션)
# 산출물: bin/windows/<arch>/transpath.execmake -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_runnersrc/ 코어 (경로 탐지/변환, OS 비의존)
app/<os>/ 실행 파일 (main + OS별 클립보드 구현)
test/ GoogleTest 단위 테스트
bin/<os>/<arch>/ 빌드 산출물
자세한 설계는 architecture.html, 기여/세션 컨텍스트는 CLAUDE.md를 참고하세요.
MIT