現在、いくつかのシェル スクリプトのクリーンアップに取り組んでいます。そうしているうちに、次のようなものに出くわしました。
if [ ${#VARA} -eq 0 ] || [ ${#$VARB} -eq 0 ] || [ ${$VARC} -eq 0 ]; then
...
fi
ご覧のとおり、ここでは${#V}、${#$V}、およびの 3 つの異なるタイプの変数が使用されています${$V}。それぞれの解説をお願いします。(さらに、 Shellcheck は最後の 1 つについて不平を言っています。)