옵션 주위에 중괄호 사용에 관한 규칙 / 표준


10

Arch Linux SYNOPSIS 섹션의 tar 매뉴얼 페이지는 다음으로 시작합니다.

tar {A|c|d|r|t|u|x}[GnSkUWOmpsMBiajJzZhPlRvwo] [ARG...]

나는이 상황에서 중괄호 안의 옵션 중 하나가 맨 페이지에서 더 아래로 표시되어 있기 때문에 정확히 주어진다는 것을 의미한다는 것을 완벽하게 이해합니다. 상호 배타적 인 옵션 목록에서 {} 를 사용하는 데 대한 표준 또는 규칙이 있습니까?

내가 찾을 수있는 것은 1998 년부터 사용자 그룹 자습서입니다man .

일부 옵션에는 제한된 선택 목록이 있습니다. 선택 목록은 쉼표로 구분되어 중괄호 사이에 놓입니다.

{choice1, choice2} {예, 아니오}

모든 규칙 ( Open Group의 규칙 ) 또는 매뉴얼 페이지는 대괄호 ([) 또는 세로선 (|) 만 설명합니다.


1
일반적으로 필자 <>는 강제적 이라고 생각 하지만 옵션이 아닌 인수를 위해 예약 된 것으로 가정합니다. 카운터 : GNU tar 맨 페이지의 Ubuntu 버전 ( manpages.ubuntu.com/manpages/trusty/en/man1/tar.1.html )은이 형식을 사용하지 않으며 linux.die.net/man/ 1 / tar 또는 데비안 . 나는 당신이 BSD tar의 맨 페이지를보고 있다고 생각합니다. 따라서 협약이 존재한다면 그것은 BSD 일 것입니다.
muru

아치 맨 페이지의 업스트림은 man7.org 이고 tar 페이지는 정확히 man7.org/linux/man-pages/man1/tar.1.html 입니다.
umbasa

2
나는 항상 커맨드 라인 구문이 ENBF 에서 나온 것이라고 생각 했지만 ENBF의 {}는 정반대를 의미합니다 (tar 상황과 같은 하나의 가능한 선택 대신 인수의 반복). Windows를 목표로 {} 구문을 Google에 시도했지만 {}이 Windows에서 매우 일반적인 것처럼 보이며 심지어 technet에 대한 설명이 있습니다 . 한숨, 어쩌면 나는 진실을 찾기 위해 너무 열심히 노력하고 있습니다.
umbasa

답변:


5

이것은 좋은 질문입니다 (그리고 몇 년 후에도 여전히 열려 있습니다). 나는 이 Google 문서 에서 정식 답변이 공식적으로 생각됩니다 .

  • 필수 항목 : 괄호 없음
  • 상호 배타적 인 품목 : 대괄호, 파이프로 구분
  • 상호 배타적 인 필수 항목 : 중괄호, 파이프로 구분

1

상호 배타적 인 옵션 목록에 {}를 사용하는 데 대한 표준 또는 규칙이 있습니까?

질문에 답할 때 중괄호 ({})로 지정된 옵션과 대괄호 ([])로 지정된 옵션의 의미의 중요성을 조사했습니다. 내가 이해하고자하는 것, 즉 왜 옵션이 중괄호로 표시되는지에 관해 유용한 것으로 밝혀진 유일한 정보원이었습니다.

당신이 쓴대로 :

나는이 상황에서 정확히 하나를 제공해야한다는 것을 완벽하게 이해합니다 ...

netstat에 대한 매뉴얼 페이지를 읽으면서 나는 옵션이 명령과 함께 나열되고 나열된 옵션 중 하나만 사용하는 다른 옵션을 사용하기 전에 사용 / 통계해야하는 명령과 함께 사용할 수있는 옵션이라는 것을 이해했습니다. 세로 막대로 구분하여 사용할 수 있습니다.

위의 예는 netstat 명령에 대한 매뉴얼 페이지에서 찾을 수 있습니다.

netstat {--route | -r} [address_family_options] [--extend | -e [-extend | -e]] [--verbose | -v] [--numeric | -n] [--numeric-hosts ] [-숫자 포트] [-숫자 포트] [-연속 | -c] [지연]

출처 : netstat (8) | 리눅스 매뉴얼 페이지

본질적으로 --route 또는 -r (동일한 것을 의미) 중 하나를 정확하게 사용할 수 있지만 옵션은 나열된 다른 옵션보다 우선해야합니다.

질문이 계속 열려있는 것처럼 보이기 때문에 질문에 응답하는 데 시간이 걸렸지 만 나 자신의 질문에 답한 것으로 보입니다. :)

컨벤션은 단순히 널리 알려진 관행입니다. 명시 적으로 언급했는지 여부에 관계 없이이 형식으로 매뉴얼을 정기적으로 발견한다는 사실은 (위에 올바르게 명시했다고 가정) 규칙이 확실하게 설정되었음을 나타냅니다.

"표준"이 있습니까? 나에게 그것은 "표준"에 대해 어떤 정의를 채택하고 싶은가에 달려 있습니다. 우리에게 여기서 용어를 사용한다는 의미에서 관례와 표준이라는 단어의 의미에는 차이가 거의 없습니다. 이런 의미에서 나는 두 단어가 "상호 적으로 합의되고 규범으로 사용되고 사용되는 것"을 따라 무언가를 의미한다고 생각한다.

이 컨벤션 / 표준을 이해하도록 도와 주셔서 감사합니다.

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