bashで変数の複数回置換

変数内のデータを2回置換しようと思ったんですが、そもそも変数の通常の置換方法だと、どうやって書くんだろう?
という所から調べてみました。

DATA=”aaa,bbb,aaa”
echo ”${DATA//aaa/ccc}”

1回置換。これはそのまま出来る。

結果:ccc,bbb,ccc

んで、調子に乗って、以下のようになってみたら、エラーになりました。

echo ”${${DATA//aaa/ccc}//,/t}”

test.sh: line xx: ${${DATA//aaa/ccc}//,/t}: 悪い代理

悪い代理って初めてみた。

幾つか調べてみたんですが、良い方法が無かったので、sedコマンドの複数指定で乗り切りました。

echo ”${DATA//aaa/ccc}” | sed 's/,/t/g'
または
echo ”$DATA” | sed -e 's/aaa/ccc/g' -e 's/,/t/g'