Bash에서는 내 관찰이 올바른지 확실하지 않습니다. 대부분의 명령의 경우 옵션과 유사한 매개변수(즉, --abc
또는 로 시작하는 매개변수 -a
)는 명령 매개변수 목록의 어느 위치에나 있을 수 있지만 다른 매개변수는 매개변수 목록에서 고정된 위치를 갖습니다.
서면/문서로 작성되지 않은 규칙이 있는지 궁금합니다. 감사해요!
답변1
즉, 프로그램에 따라 다릅니다. Bash가 하는 일은 인수를 프로그램의 메인 함수에 보내는 것이고, 그 시점부터 메인 함수는 인수로 무엇을 할지 결정합니다. 일부 프로그램은 인수 순서에 신경 쓰지 않지만 일부는 이를 고려합니다.
답변2
다음은 프로그램 인수의 순서가 중요한 중요한 예입니다. 다음 출력을 비교하세요.
find . -type f -atime 0 -daystart
그리고:
find . -type f -daystart -atime 0
(파일이 저장되어 있는 드라이브에는 atime
요즘 추가가 필요하네요.) 시작하는 데 도움이 되는 웹페이지가 많이 있지만 해당 매개변수가 매우 구체적인 순서로 되어 있다는 find(1)
사실은 거의 언급되지 않습니다 .find
답변3
man commandName
이것이 사용하려는 명령에 중요한지 알려줍니다. 일반적으로 무언가로 시작하는 것은 -
명령의 동작을 수정하는 옵션이고 다른 것들은 명령에 대한 인수(입력으로 사용할 수 있음)입니다.