shell中$()和${}的区别

$()

用于命令替换
将括号内命令的执行结果赋值给变量

${}

用于变量替换
一般情况下,$ var与$ {var}是没有区别的,但是用${ }会比较精确的界定变量名称的范围
可用于取数组元素的值

例题助记

shell中$()和${}的区别_第1张图片
这道题可以帮助我们好好的区分$ ()和$ {}

#! /bin/bash

read n
a[0]=1
a[1]=1

for ((i=2;i<=n;i++))
do
	x=$(expr $i - 1)
	y=$(expr $i - 2)
	a[$i]=$(expr ${a[$x]} + ${a[$y]})
done
echo ${a[$n]}

你可能感兴趣的:(#,linux,shell)