$var
与 ${var}
并没有区别,用 ${}
会比较精确的界定变量名称的范围
a=java
aa=linux
echo "$a" java
echo "${a}" java
echo "${a}a" javaa
echo "$aa" linux
[Ref] Shell 反引号、$() 和 ${} 的区别
[Ref] linux之${}符号详解
${}
其他用法
${#a}
获取字符串长度
a=hello
echo ${#a} 5 类比 java里的 str.length()
[Ref] linux之${}符号详解
${a:0:5}
截取字符串
a='hello linux!'
echo ${a:0:5} hello 类比java里的 str.subString(0,5)
[Ref] linux之${}符号详解
${a/linux/java}
替换字符串
a='hello linux linux'
"${a/linux/java}" hello java linux 将a中的第一个linux替换为java
[Ref] linux之${}符号详解
${}
更多用法 Further Reading : linux之${}符号详解