私はbashスクリプトを継承し(レガシーは素晴らしいものではありません!)、何が問題になっているのかを理解しようとしています。
問題のある行は次のとおりです。
while [ "${\(\#\)}" -gt 0 ] ; do
実行しようとすると、「不正な置換」エラーメッセージが表示されます。argsの数がゼロより大きいかどうかを尋ねようとしていることは確かですが、あなたもそれを知っています。
それがうまくいったかどうかはわかりません。バックスラッシュが足りないか、多すぎるか、かっこがそこに属していないのではないかと思います。私はこれらのいくつかを試しましたが、運がありませんでした。
どんな啓蒙もありがたいです。