'#' 문자를 명령줄 인수로 전달할 수 없습니다.
시작으로 문자열을 전달할 수 없습니다.#
명령행 인수로서
간단한 테스트는 다음과 같습니다.
#include <stdio.h>
int main(int argc, char *argv[])
{
for (int i = 1; i < argc; i++)
printf("%s ", argv[i]);
putchar('\n');
return 0;
}
다음과 같이 인수를 입력하면 다음과 같습니다.
2 4 # 5 6
의 가치.argc
가3
아닌6
. 읽혀져 있습니다.#
거기서 멈춥니다.왜 그런지 모르겠지만, C 프로그래밍 언어와 C Primer Plus의 복사본에서 답을 찾을 수 없습니다.
#
유닉스 셸에서 코멘트를 시작합니다. 매우 유사합니다.//
주식회사.
이는 셸이 인수를 프로그램에 전달할 때 # 뒤에 오는 모든 것을 무시한다는 것을 의미합니다.백슬래시 또는 따옴표를 사용하여 탈출하면 다른 매개 변수와 같이 처리되며 프로그램이 예상대로 작동해야 합니다.
2 4 \# 5 6
아니면
2 4 '#' 5 6
아니면
2 4 "#" 5 6
참고하세요.#
는 단어의 시작 부분에만 주석 문자이므로 이 또한 작동해야 합니다.
2 4#5 6
명령줄 인수를 통해 값을 전달할 때 다음 지침을 수행해야 합니다.다음 문자는 일부 컨텍스트에서 셸 자체에 특별한 의미가 있으며 인수에서 제외해야 할 수도 있습니다.
` Backtick (U+0060 Grave Accent)
~ Tilde (U+007E)
! Exclamation mark (U+0021)
# Hash (U+0023 Number Sign)
$ Dollar sign (U+0024)
& Ampersand (U+0026)
* Asterisk (U+002A)
( Left Parenthesis (U+0028)
) Right parenthesis (U+0029)
(⇥) Tab (U+0009)
{ Left brace (U+007B Left Curly Bracket)
[ Left square bracket (U+005B)
| Vertical bar (U+007C Vertical Line)
\ Backslash (U+005C Reverse Solidus)
; Semicolon (U+003B)
' Single quote / Apostrophe (U+0027)
" Double quote (U+0022)
↩ New line (U+000A)
< Less than (U+003C)
> Greater than (U+003E)
? Question mark (U+003F)
Space (U+0020)1
그건 당신이 사용하고 있기 때문입니다.sh
-조개같은.인용문#
아니면 다른 방법으로 탈출할 수도 있습니다.\
효과가 있을 겁니다
이를 댓글이라고 합니다.sh
. 그것은 원인입니다.#
(공백 제거) 그리고 그 후에 폐기할 인수.코드를 문서화하는 데 사용되는 C의 주석과 유사하게 사용됩니다.
문자열은 다음으로 시작합니다.$
변수라고 합니다.sh
. 변수를 설정하지 않은 경우 빈 문자열로 확장됩니다.
예를 들어, 이 모든 것이 다음을 통과하는 유효한 방법이 될 것입니다.#
귀하의 애플리케이션에 다음을 제공합니다.
2 4 '#' 5 6
2 4 "#" 5 6
2 4 \# 5 6
그리고 이것들은 첫번째로 시작하는 문자열을 전달하는 유효한 방법일 것입니다.$
:
2 4 '$var' 5 6
2 4 '$'var 5 6
2 4 \$var 5 6
안에 있는 변수들은"
s는 여전히 확장됩니다.
언급URL : https://stackoverflow.com/questions/58837835/unable-to-pass-character-as-a-command-line-argument
'prosource' 카테고리의 다른 글
문서()와 함께 복사를 사용하여 XHTML 출력에 SVG 추가 (0) | 2023.09.15 |
---|---|
자바스크립트에서 예외를 다시 던지면서 스택을 보존하려면 어떻게 해야 합니까? (0) | 2023.09.15 |
Typescript를 사용할 때 "property is not exist on type JQuery" 구문 오류를 중지하려면 어떻게 해야 합니까? (0) | 2023.09.15 |
긴-if 조건을 위한 PSR-2 표준 (0) | 2023.09.15 |
Google 재료 아이콘(폰트)이 Mozilla Firefox에서 렌더링되지 않음 (0) | 2023.09.15 |