명령에서 플래그를 알파벳 순서로 정리해야합니까?


답변:


15

명령에서 명시 적으로 언급하지 않는 한 실제로 중요하지 않습니다 *. 옵션을 차례로 배치하는 방법과 같은 지침을 제공하는 참조는 없었습니다. 따라서 가독성을 위해 옵션을 알파벳순으로 정렬 할 수 있다고 생각합니다.

* 옵션에 파일 이름이나 다른 입력이 필요한 경우 적절하게 입력 해야하는 매우 중요한 카바레가 있습니다.

예를 들어, -f옵션은 grep파일을 입력으로 가져 와서 입력 파일에서 찾을 패턴을 가져옵니다. 다음과 같이 명령을 제공해야합니다.

grep -cf input.txt file.txt 

다음과 같이 사용하면 :

grep -fc input.txt file.txt 

c파일 이름으로 사용 되므로 실패 합니다.


12

POSIX의 규칙에서 정의한 가이드 라인 (11)과 유틸리티 구문 가이드 라인의 12 순서 "라는 문제가 안된다 "하지 않는 한이 유틸리티 자체에 대한 문서화 아니에요.

GNU C 라이브러리 참조 설명서 도 명예에 그 POSIX 규칙 25.1.1 프로그램 인수 구문 표기 규칙 .

그러나 일부 상황에서 매개 변수를 수행하는 방법 (예 : 찾기)을 엄격하게 지시하는 여러 유틸리티가 있습니다. 보내는 사람 찾기 맨 :

-name테스트는 앞에 오는 -type전화하는 것을 방지하기 위해 테스트 stat(2)모든 파일에.

때로는 유틸리티가 주문에 대해 불평합니다.


3
엄밀히 말하면, find단지 몇 가지 옵션을 가지고 POSIX는 오직 두 가지 옵션을 정의 -H하고 -L. 는 GNU find우분투에서 더 몇 가지 옵션을 가지고 있지만 -type-name등을 고려하는 사업자 가 아닌 옵션 . 그리고 운영자에게는 일반적으로 순서가 중요합니다.
geirha

5

ls를 사용하면 옵션 순서를 잘못 지정할 수 없습니다.

그러나 다른 명령은 순서에 따라 옵션에 대해 다른 응답을 가질 수 있습니다.

예를 들어 find 명령이 있습니다. 예를 들어 다음과 같은 다른 결과가 나타납니다.

  find . -ls -mtime -1 

  find . -mtime -1 -ls

3

연습하려는 경우 짧은 문자열을 알파벳순으로 정렬하는 것입니다. 나는 두 가지 전략, 즉 단어를 만들고 (오타를 줄이며) 문장을 만드는 것 (이해력을 향상시키는)이 유용하다는 것을 알았습니다.

예를 들어, ls의 경우, ls -halF대문자를 사용 하더라도 단어가 아닌 Falh 와 같은 것보다 halF 를 입력하는 것이 더 낫기 때문에 일반적으로 사용 합니다.

tar의 경우, 나는 다른 tar czvf filename머리의 의미를 배웠기 때문에 "tar 작성 및 Zip, Verbosely For 파일 이름"이라고 입력 하고 말합니다.


e2fsck -fvcckt는 너무 많은 오류를 반환하는 경우의 상황을 설명하기 때문에 기억합니다. ;)
Joe

2

다른 사람들이 대답했듯이 중요하지 않습니다 (달리 문서화되거나 옵션 인수가 추가 인수를 취하지 않는 한).

그러나 알파벳 순서로 옵션을 주문하는 것이 바람직합니다.

개인적으로, 니모닉이 엄격한 알파벳 순서보다 더 많은 가치를 제공한다는 것을 알았습니다. 기억에 남는 단어를 만들 때 일련의 옵션을 기억하는 것이 더 쉽습니다. 예를 들어 다음을 고려하십시오.

netstat -tan
# alphabetic is good (by chance) in this case
netstat -ant

vs :

netstat -atn
netstat -nta

따라서 명령에 대해 특정 옵션 콤보를 반복하면 문자를 기억하기 쉬운 순서로 다시 정렬하려고 할 수 있습니다.

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