명령에서“-”와“-”의 차이점은 무엇입니까?


답변:


15

관습의 문제입니다. POSIX 표준 프로그램에는 일반적으로 단일 문자 옵션 만 있으며 모두 단일 하이픈으로 시작됩니다. 내가 알 수있는 한 더 긴 버전은 명확성을 위해 GNU 개선이며 일반적으로 이중 하이픈이 접두어로 붙습니다. 옵션 getoptgnu-getopt각각 을 구문 분석하는 데 사용되는 라이브러리 및 프로그램에서이를 확인할 수 있습니다 . 비 GNU 및 비 POSIX 호환 프로그램은 다른 작업을 수행 할 수 있습니다. 긴 형식의 인수가 프로그램마다 다를 수 있다는 것을 실제로 확신 할 수는 없습니다. -f일반적으로을 의미 --force하지만 apt-get install(일반적인 오해)를 의미 하지는 않습니다 . -v일반적으로 또는 --verbose등의 버전을 의미 할 수 있습니다 . 매뉴얼 페이지 또는 기타 설명서를 확인하십시오. 또한 봐getopt에에 Wikipedia 기사 . 이 모든 것이 리눅스보다 10 년 이상 앞서 있습니다.

dd의 예 는 POSIX 표준 유틸리티 어떤 하이픈 옵션이없는 전혀를 . 단일 하이픈이있는 단어 옵션이 있는 POSIX 표준 유틸리티find 의 고전적인 예입니다 . 거의 모든 find옵션은 여러 문자 길이입니다. ps여러 옵션 스타일을 지원합니다.

This version of ps accepts several kinds of options:

1   UNIX options, which may be grouped and must be preceded by a dash.
2   BSD options, which may be grouped and must not be used with a dash.
3   GNU long options, which are preceded by two dashes.

GNUtar 는 또한 여러 옵션 스타일을 지원합니다.

스크립트를 호환 가능한 환경에서 실행할 수 있으려면 사용법에있어 스크립트에서 긴 옵션을 선호하십시오. 디버깅시 선명도의 향상은 큰 도움이됩니다. 이식성을 위해 짧은 옵션이 선호됩니다.


정말 좋은 답변입니다. 고마워.
펑 장

4

일반적으로-옵션은 다음과 같이 서로 연결될 수 있습니다 pacman -Syu 으로pacman -S -y -u -옵션은 일반적으로./configure --prefix=/usr

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.