$ declare -l a $ echo "${a:=X} $a" X x This doesn't jive with what the manual says.
`-l`: > When the variable is assigned a value, all upper-case characters are converted to lower-case. `:=`: > If parameter is unset or null, the expansion of word is assigned to parameter. The value of parameter is then substituted. Is this a bug or am I missing something here? -- Oğuz