参数长度

# Length of a string
$ var='12345'
$ echo "${#var}"
5

请注意,它是字符数的长度,不一定与字节数相同 (如 UTF-8 中大多数字符以多个字节编码),也不是字形/字形数 (其中一些是字符组合),也不一定与显示宽度相同。

# Number of array elements
$ myarr=(1 2 3)
$ echo "${#myarr[@]}"
3

# Works for positional parameters as well
$ set -- 1 2 3 4
$ echo "${#@}"
4

# But more commonly (and portably to other shells), one would use
$ echo "$#"
4