# 모든 명령을 Comma로 시작하세요 (2009)

> Clean Markdown view of GeekNews topic #15488. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=15488](https://news.hada.io/topic?id=15488)
- GeekNews Markdown: [https://news.hada.io/topic/15488.md](https://news.hada.io/topic/15488.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-06-24T09:57:02+09:00
- Updated: 2024-06-24T09:57:02+09:00
- Original source: [rhodesmill.org](https://rhodesmill.org/brandon/2009/commands-with-comma/)
- Points: 2
- Comments: 2

## Topic Body

### 사용자 정의 명령어 충돌 방지 방법

#### 문제점
- 사용자 정의 쉘 스크립트와 시스템 명령어 간의 이름 충돌 가능성
- 특히 Debian과 같은 많은 명령어를 지원하는 시스템에서 충돌 가능성 증가

#### 해결책
- 사용자 정의 명령어 앞에 쉼표(,)를 붙여서 시스템 명령어와 구분
- 쉼표는 파일 이름에서 특별한 의미가 없어서 안전하게 사용 가능

#### 장점
- 쉼표를 사용하면 명령어 충돌 방지
- 탭 완성 기능을 통해 사용자 정의 명령어 목록을 쉽게 확인 가능

#### 예시
```shell
$ ,«tab»
,complete-scp    ,go-thpgp      ,range
,complete-ssh    ,gr            ,svn-store-password
,coreoff         ,hss           ,umount
,coreon          ,mount-thpgp   ,find
,mount-twt
```

#### GN⁺의 의견
- 이 방법은 사용자 정의 명령어와 시스템 명령어 간의 충돌을 효과적으로 방지할 수 있음.
- 쉼표를 사용하는 것은 간단하면서도 강력한 해결책으로, 초급 엔지니어도 쉽게 적용 가능함.
- 이 기법은 특히 많은 명령어를 사용하는 시스템에서 유용함.
- 다른 방법으로는 명령어 앞에 특정 접두사를 붙이는 것도 고려할 수 있음.
- 이 방법을 사용하면 명령어 관리가 더 체계적이고 효율적으로 이루어질 수 있음.

## Comments



### Comment 26528

- Author: neo
- Created: 2024-06-24T09:57:03+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=40769362) 
- "comma_nds"라는 이름이 재미있음. 좋은 아이디어라서 사용해볼 생각임.
- 처음에는 별로일 것 같았지만, 특히 탭을 사용해 도구 목록을 나열하는 부분이 마음에 듦. 최근 네임스페이스 충돌이 거의 없었음.
- 쉘 스크립트 이름이 짧고 간결해서 시스템 명령어와 충돌할 가능성이 있었음. `$PATH`의 앞에 `bin` 디렉토리를 두면 문제 해결 가능함.
- Vim에서도 `,` 키가 많이 사용됨. 비슷한 이유로 자주 사용됨.
- 문제를 잘 이해하지 못했지만, 자신의 명령어를 자동완성하는 아이디어는 좋음.
- 짧은 커스텀 명령어를 사용함. 시스템 명령어와 충돌해도 상관없음. 충돌 시 다른 이름으로 별칭을 설정함.
- Windows에서 Python 스크립트를 쉽게 실행할 수 있지만, Linux에서는 어려움. Linux는 연관 프로그램 개념이 없어서 불편함.
- 충돌을 피하기 위해 긴 실행 파일 이름을 사용하고 짧은 별칭을 설정하는 방법이 있음. 단점은 탭 완성 기능이 불편함.
- 텍스트 확장기/텍스트 교체 커뮤니티에서도 쉼표로 시작하는 기술이 일반적임.
- `~/.local/bin`에 기억하지 못하는 실행 파일이 많았음. 쉼표로 시작하는 스크립트 이름이 기억을 돕는 데 유용했을 것임.

### Comment 26555

- Author: kayws426
- Created: 2024-06-24T18:04:10+09:00
- Points: 1
- Parent comment: 26528
- Depth: 1

'_'를 사용하는것은 어떻까요?
