이 명령에서:
wget -qO- https://get.speedify.com | bash -
원천:https://support.speedify.com/article/562-install-speedify-linux
...첫 번째는 -q
"조용함" 모드 옵션입니다. O-
(0이 아닌 문자 "O"에 유의하세요.) 부품이 무엇인가요? 왜 문자 O인가? 왜 뒤쫓는가 -
? 마지막으로 bash
명령 뒤에는 -
왜?
업데이트: 이제 그것이 0이 아닌 문자 O라는 것을 알았습니다. man wget
매뉴얼 페이지에서 다음을 보았습니다.
-O file --output-document=file The documents will not be written to the appropriate files, but all will be concatenated together and written to file. If - is used as file, documents will be printed to standard output, disabling link conversion.
따라서 이는 출력 파일 -qO
과 동일하며 -q -O
설정 하며 분명히 문서를 표준 출력으로 인쇄하는 것을 의미합니다. 왜 그들은 이것을하지 않는지 궁금합니다 ... ?-O
-O-
-O=-
-O -
반복하지 않음:
이 질문은 내 질문의 가장 작고, 가장 관련성이 없으며, 가장 중요하지 않은 부분에 대한 답변입니다.명령줄 옵션은 옵션 이름과 값 사이에 등호를 사용합니까?. 물론아니요내 질문에 대답.
답변1
나는 당신이 3가지 질문에 대한 답을 찾고 있다고 믿습니다. 차례로 소개하겠습니다.
매뉴얼 페이지에서 알 수 있듯이
-
쓸 파일 이름으로 사용되는 경우stdout
.bash
명령 부분 에서는-
읽을 파일 이름으로 사용됩니다. 이 경우 에서 읽으라고 지시합니다stdin
. 이 두 명령은 함께 파이프되므로stdout
1단계에서 작성된 내용을 읽습니다 .마지막으로, 그렇지 않은 이유는 명령줄 옵션을 구문 분석할 때 표준 C 라이브러리가 작동하는 방식
-O=-
때문입니다 .getopt
인수를 사용하지 않는 단일 문자 옵션(예:-v
자세한 정보 및 재귀적 옵션)이 있는 경우 해당 옵션을 개별적으로( ) 또는 블록( )으로-r
지정 하고 앞에 대시만 붙일 수 있습니다. 단일 문자 옵션이 인수(예: ) 를 취하는 경우 해당 옵션 다음의 항목은 인수가 될 것으로 예상됩니다. 따라서 및 는 파일에 기록된 것과 동일합니다 . 그러나, 그리고 다른 해석을 가질 것입니다. 장황하게 설명하고 foo 파일에 기록하지만 추가 명령줄 인수 로 해당 파일에 기록합니다 .-v -r
-vr
-w <outfile>
getopt
-w foo
-wfoo
foo
-vw foo
-wv foo
-vw foo
-wv foo
v
foo
긴 매개변수는 두 개의 대시로 지정됩니다. 이러한 매개변수를 처리할 때 매개변수가 기호 뒤에 올 것으로 예상합니다 =
. wget 참조 부분을 다시 살펴보면 옵션의 -O file
"짧은" 버전과 긴 버전을 알려주는 것을 볼 수 있습니다.--output-documet=file