linux expr命令

要想得到 $STR shell 变量的长度,请输入:

LENGTH=`expr $STR : ".*"`

这会将 LENGTH 变量设置成由 :(冒号)运算符给出的值。.*(点,星号)模式会对任何字符串从头到尾去匹配,因此冒号运算符给出$STR 变量的长度作为匹配字符的数目。注,.* 必须在引号内,来防止 shell 将 *(星号)处理成模式匹配字符。引号不是模式中的一部分。

如果 $STR 变量设置成空字符串或者包含了任何空格(空白或者制表键)的话,那么该命令会显示错误消息expr: syntax error。这是因为 shell 通常不会将空字符串传递给命令。在这种情况下,expr 命令只能看见:

:.*

shell 还会除去单个的引号。不起作用的原因是因为冒号运算符要求有两个值。此问题可以通过将 shell 变量以双引号括起来解决:

LENGTH=`expr "$STR" : ".*"`

现在,如果 $STR 变量的值为空的话,LENGTH 变量被设置成 0 值。通常我们推荐将 shell 变量用双引号括起来。不要将 shell 变量用单引号标记括起来。

你所缺少的部分,也早已被我用想像的画笔填满。

linux expr命令

相关文章:

你感兴趣的文章:

标签云: