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