UNIX 및 기타 유사한 시스템에서는 라틴 문자, 숫자 및 밑줄 외에도 하이픈을 사용자 이름으로 사용할 수도 있다고 합니다. 반면에 하이픈은 많은 프로그래밍 언어에서 연산자로 사용됩니다. 서로 호환되나요?
사용자 이름의 하이픈이 때때로 빼기 연산자로 처리되어 일부 프로그램 코드에서 예기치 않은 동작이 발생하는지 궁금합니다. 이런 일이 발생하면 사용자 이름에 밑줄을 구분 기호로 사용합니다.
당신의 도움에 미리 감사드립니다.
답변1
반면에 하이픈은 많은 프로그래밍 언어에서 연산자로 사용됩니다.
진짜. 그러나 리터럴 문자열을 해석하고 그 안에서 맹목적으로 작업을 수행하는 언어는 거의 없습니다. 그렇다면 사용자 이름이 메소드 이름으로 취급되는 것을 더 두려워해야 합니다! 문제는 개발자가 제한된 유효 문자 집합을 가정했다는 것입니다.
도움이 된다면 데비안은 /etc/adduser.conf
사용자 이름에 허용되는 문자(문자, 숫자, 하이픈, 밑줄)를 나열합니다.
$ tail /etc/adduser.conf
[snip]
# check user and group names also against this regular expression.
#NAME_REGEX="^[a-z][-a-z0-9_]*\$"
따라서 적어도 하나의 주요 배포판이 귀하를 지원합니다. 계속하세요.