댓글 없이 #을 쓸 수 없습니다.

댓글 없이 #을 쓸 수 없습니다.

문자로 비밀번호를 지정해야 하는데 #줄에 주석이 붙어 있습니다. 문자 그대로 읽도록 하려면 어떻게 해야 합니까?

PASSWORD=xpto#123예: 주석 없이 을 넣어야 합니다 .123

답변1

만약에

PASSWORD=xpto#123

Bourne과 유사한 셸(bash, dash, ksh, zsh...)의 코드이며 #주석으로 처리되지 않습니다. 이러한 셸에서는 #주석이 셸 태그 시작 부분에만 도입됩니다(따라서 공백 또는 ;, |, &&...의 시작이나 뒤).

rc쉘이나 파생 프로그램(모양에서 할당을 수행하는 다른 쉘)에서는 주석 문자 로 처리되지만 var=value이러한 문자를 사용하고 있는 것으로 의심됩니다.

아마도 주석을 삽입하는 것이 일반적인 일부 구성 파일에서 이를 사용하려고 할 것입니다 #.

구성 파일에 대한 실제 표준은 없으므로 어떻습니까?탈출하다문자(달리 주석으로 간주되는 경우)는 실제 구성 파일에 따라 달라집니다.

해당 프로필이나 해당 프로필이 속한 소프트웨어에 대한 설명서를 읽는 것이 가장 좋습니다.

문자를 이스케이프하는 일반적인 방법에는 큰따옴표( "..."), 작은따옴표( '...') 또는 문자 앞에 백슬래시가 포함됩니다. 8진수 시퀀스²( \043), 16진수²( \x23) 또는 유니코드( \u0023)를 사용하여 문자를 입력할 수도 있습니다. 따옴표 처리 방법이 일부 변경될 수도 있습니다(백슬래시 또는 기타 문자가 따옴표 안에 특수한지 여부...).


1 rc셸에서 유일한 인용 연산자는 입니다(그리고 작은따옴표 자체는 작은따옴표 안에 표시됩니다 '...'). 셸(Byron Rakitzis에서 파생된 Unix 복제본 ) ''에서는 , 또는 를 사용할 수도 있습니다 .esrc\#\043\x23

² 이는 다음을 나타냅니다.바이트따라서 a는 ASCII 문자 세트 또는 호환 가능한 문자 세트 \x43로만 인코딩합니다 #. 이는 오늘날 사용되는 대부분의 문자 세트여야 하며, 여전히 EBCDIC를 사용하는 일부 드문 IBM 시스템을 제외하고는 예외입니다. 하지만 ASCII가 아닌 문자를 사용할 때는 이 점을 명심해야 합니다. \u0023반면에 (유니코드를 통해) #문자는 보장됩니다.

답변2

백슬래시를 사용하여 #을 이스케이프할 수도 있습니다. PASSWORD=xpto\#123

관련 정보