명령이 있어요
path/to/forticlientsslvpn_cli --server <host>:<port> --vpnuser testpass\101
스크립트를 실행하면 Linux는 testpass와 101 사이에 공백을 넣습니다. 스크립트에서 "testpass\101"을 사용자 이름으로 처리하고 싶습니다.
내 말이 이해되길 바라
답변1
이는 \
이스케이프 문자 때문에 발생합니다.
참조를 사용하거나
path/to/forticlientsslvpn_cli --server <host>:<port> --vpnuser 'testpass\101'
또는 이스케이프된 백슬래시를 사용하세요.
path/to/forticlientsslvpn_cli --server <host>:<port> --vpnuser testpass\\101
답변2
완전성을 위해 bash
쉘 및 ASCII 기반 시스템의 경우 따옴표만 사용됩니다.
'testpass\101'
(지금까지 최고)testpass\\101
"testpass\101"
또는"testpass\\101"
(후자가 더 좋습니다)$'testpass\\101'
$'testpass\u005c101'
또는$'testpass\U0000005c101'
(U+005C는 백슬래시의 유니코드 코드 포인트입니다)$'testpass\x5c101'
(여기서 0x5C는 ASCII로 인코딩된 바이트 값입니다\
)$'testpass\134101'
(8진수와 동일)
자세한 내용은 다음을 참조하세요.일반 문자처럼 특수 문자를 사용하는 방법은 무엇입니까?