UNIXユーザー名にハイフンが使用可能

UNIXユーザー名にハイフンが使用可能

UNIXなどのシステムでは、ラテン文字、数字、アンダースコアに加えて、ハイフンをユーザー名として使用することもできます。一方、ハイフンは多くのプログラミング言語で演算子として使用されます。お互いに互換性がありますか?

ユーザー名のハイフンが時々減算演算子として扱われ、いくつかのプログラムコードで予期しない動作が発生するかどうか疑問に思います。これが発生した場合は、ユーザー名にアンダースコアを区切り文字として使用します。

ご協力ありがとうございます。

ベストアンサー1

一方、ハイフンは多くのプログラミング言語で演算子として使用されます。

本当。しかし、リテラル文字列を解釈し、その中で盲目的に作業を行う言語はほとんどありません。その場合は、ユーザー名がメソッド名として扱われることをさらに恐れてください。問題は、開発者が限られた有効な文字セットを想定したことです。

役に立つ場合、Debian は/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_]*\$"

したがって、少なくとも1つの主要なディストリビューションがあなたをサポートします。続けてください。

おすすめ記事