【发布时间】:2010-11-16 18:49:39
【问题描述】:
我正在向现有脚本添加一项功能,允许用户配置 Linux 系统的主机名。我正在执行的规则如下:
- 长度必须在 2 到 63 个字符之间
- 不得以连字符开头或结尾
- 只能包含字母数字字符和连字符;不允许使用所有其他字符(包括下划线,这意味着我不能使用 \W 正则表达式符号)
我已经解决了列表中的前两个问题,但是我无法弄清楚如何检查 bash 字符串是否只包含字母、数字和连字符。我想我可以用正则表达式来做到这一点,但我无法弄清楚如何(过去一个小时我一直在搜索网络和阅读手册页)。
我愿意使用 sed、grep 或任何其他标准工具,但不是 Perl 或 Python。
【问题讨论】: