답변:
sort
당신이 기대하는 방식으로 구문 분석하는 방식으로 구현 되기 때문 입니다.
- 때로는 옵션과 인수가 함께 실행되고 때로는 공백으로 구분되고 때로는 문자로 구분됩니다. 일반적으로 : 또는 =. 따라서 "Prog -fFilename", "Prog -f Filename", "Prog -f : Filename", "Prog -f = Filename"입니다.
- 일부 프로그램에서는 단일 문자 옵션을 결합 할 수 있습니다. 다른 사람들은 그렇지 않습니다. 스위치 "-fA"는 "-f -A"와 동일하거나 잘못되었거나, 유효하지만 다른 매개 변수 일 수도 있습니다.
이것은 공백없이 작동하며 단일 문자 옵션의 조합으로 보입니다.
그것들은 단순히 인수 파싱이 다르게 구현되는 다른 프로그램입니다.
에서 coreutils
8.13, 다음 비교 ::
src/sort.c
4315 행, 특수 정수 구문 분석 함수를 호출하여 parse_field_count
첫 번째 유효하지 않은 문자로 리턴합니다 (예 : 숫자 값이 완료되고 다음 옵션이 시작되면) : sort
인수를 처리 할 수있는 이유 입니다.src/cut.c
, 803 행, 단순히 getopt
다음 공백까지 모든 것을 현재 옵션의 매개 변수로 해석 하는 규칙적인 동작을 사용합니다 .
sort
일반적인 규칙에 따라?cut
그런 식으로 작동하지 않습니다.