h returns the length of the value of the variable as a character string. For example, if filename has the value fred.c, then ${#filename} would have the value 6.
The other operator (${#array[*]}) has to do with array variables.
==== String Length ==... $a. The problem is that ${param:-word} already has a well-defined meaning: expand to word if the exp
ison operator.
----
-z
string is null, that is, has zero length
<code>
String='' # Zero-length ("nu... =4
b=5
# Here "a" and "b" can be treated either as integers or strings.
# There is some blurring be... kings . . .
# Using if [ ... ]
# If a string has not been initialized, it has no defined value.
# This state is called "null" (not the same as zero!).