원격 서버의 콘솔 키보드 레이아웃이 실제 키보드와 다른 문제가 발생했습니다.
@
브라우저 포럼에 붙여넣기 위해 편지를 복사해야 합니다 .
서버는 VPN 내부에 있으며 외부에서 액세스할 수 없으므로 "기호"로 검색하는 것만으로는 작동하지 않습니다.
@
복사하여 붙여넣을 수 있도록 콘솔에서 이를 인쇄 할 수 있는 방법이 있나요 ? 단순히 a를 수행 cat
하고 @
그 안에 a를 표시하는 잘 알려진 파일이 있습니까 ? ㅏ읽어보기 파일또는 유사합니다.
답변1
bash 쉘 사용:
echo $'\x40'
POSIX 쉘 사용:
printf '\100'
답변2
man ascii
디스플레이 ASCII 문자 세트를 사용하고 출력에서 잘라내어 붙여넣을 수 있습니다 .
( ascii
Plan 9 또는 다른 프로그램에 프로그램이 설치되어 있는 경우 섹션 7: 에서 매뉴얼 페이지가 필요함을 명시적으로 지정할 수 있지만 man 7 ascii
이는 일반적으로 필요하지 않습니다.)
답변3
Perl을 사용하는 경우 다음과 같은 특수 문자를 최소한으로 사용하여 인쇄 가능한 모든 ASCII 문자를 얻을 수 있습니다(큰따옴표를 사용할 수도 있음).
shell$ perl -l -e 'print map chr, 32..126'
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
훨씬 더 간단합니다(문자와 점만 사용).
shell$ perl
print chr for 32..126
^D
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~shell$
답변4
이전에 언급되지 않은 몇 가지 방법은 다음과 같습니다.
printf '\x40'
printf '\u40'
echo -e '\u40'
echo $'\u40'
echo 40 | xxd -p -r
perl -le 'print chr 64'
python <<<'print chr(64)'
python3 -c 'print(chr(64))'
php -r 'echo chr(64);'
[1]
이 40
값은 ASCII 문자의 16진수 값입니다 @
. 또는 64
십진수(나중에 사용됨). 즉, 16진수( ) 값으로 표현하거나 읽습니다 \x40
. printf 명령은 이를 이 값의 바이트로 변환하고 콘솔은 이를 인쇄합니다.\x
40
@
그리고 이것도유니코드동일한 문자에 대한 코드 포인트 값입니다 @
. 공교롭게도 유니코드 코드 포인트와 ASCII 문자 값은 7F
(설계상) 최대 127(16진수 또는 8진수)까지 동일합니다 177
.
\x40
그러나 \100
(또는)과 에는 차이가 있습니다 \u40
. 후자는 운영 체제나 코드를 실행하는 컴퓨터에서 설정한 로케일, 언어 또는 조건에 관계없이 항상 유니코드 코드 포인트를 생성합니다. while은 printf '\100'
공백을 출력합니다. 또한 설계상 UNICODE의 코드 포인트에는 정적 값이 할당됩니다. 그들은 미래에도 변하지 않을 것으로 예상됩니다. 즉, EBCDIC 기반 시스템에서는 짝수를 생성 \u40
해야 합니다 @
(예:). 이는 ASCII 값의 경우 작은 이득처럼 보일 수 있지만 ()는 로케일이나 언어에 관계없이 \u2225
항상 생성되어야 하기 때문에 더 높은 코드 포인트 문자에 대한 실질적인 이점입니다 parallel
.∥
이에 대한 지원은 2000년에 GNU printf(독립 실행형 유틸리티)에 의해 처음 추가되었습니다 \uxxxx
. 그런 다음 2003년에 zsh의 print/printf/echo/$'...'가 나왔고 나중에 몇 가지 다른 쉘이 나왔습니다. $'\uxxxx' 구문은 POSIX에 포함될 계획도 있습니다. 별도의 printf :에 4자리 숫자가 필요합니다 printf '\u0040'
. Bash에서는 ksh93 및 zsh에 1~4자리 숫자가 허용됩니다. A에는 \Uxxxxxxxx
최대 8자리의 16진수를 사용해야 합니다.
[1] 원래 아이디어는 Stéphane Chazelas의 의견에서 나왔습니다(현재 삭제됨).