Nir*_*raj 14 shell sh shell-script
我只需要使用纯 sh shell 来计算字符串的长度。发生的事情/bin/sh实际上是到 bash 或其他 shell 的软链接。因此${#STRING}给出字符串的长度,因为它是高级 bash 功能。
有人能告诉我如何找到字符串的长度吗?我使用的是 Solaris 5.10 Sparc 架构
Pet*_*mby 17
wc -m计算字符串中的字符数。因此,您可以执行以下操作:
STRLENGTH=$(echo -n $STRING | wc -m)
Run Code Online (Sandbox Code Playgroud)
替代语法:
STRLENGTH=`echo -n $STRING | wc -m`
Run Code Online (Sandbox Code Playgroud)
-necho的标志阻止它打印换行符。Solaris 5 上的标志可能不同。检查man echo
R J*_*R J 10
这里有几种方法可以做到。
myvar="This is a test"
echo "${#myvar}"
14
Run Code Online (Sandbox Code Playgroud)
或者
expr length "${myvar}"
14
Run Code Online (Sandbox Code Playgroud)
用于获取POSIX shell 参数扩展${#string}的长度。它不是唯一的功能。$stringbash
在 Solaris 5.10 上,如果/bin/sh或/usr/bin/sh(如手册中所述sh(1))不支持此功能,则将/usr/xpg4/bin/sh支持。
要在 Solaris 5.10 系统上获得 POSIX 行为,您PATH应该设置为
/usr/xpg6/bin:/usr/xpg4/bin:/usr/ccs/bin:/usr/bin
Run Code Online (Sandbox Code Playgroud)
(按顺序),如standards(5)手册中所述。
| 归档时间: |
|
| 查看次数: |
90553 次 |
| 最近记录: |