bashで2文字より大きいすべての引数をどのようにエコーしますか?

bashで2文字より大きいすべての引数をどのようにエコーしますか?

私は以下を持っています

#!/bin/bash
function f1 ()
{
  echo "all parameters with more than 2 characters"
}
f1 123 45 6789

2より大きい文字を含むパラメーターに対していくつかの操作を実行する必要があります。エコーできますか?拡張されない「$ @」をループに接続し、wc -c この場合は出力する必要があります。123 6789

ベストアンサー1

あなたは必要ありません拡張 $@しかし、繰り返す必要があります。

for arg in "$@"
do
  [ "${#arg}" -gt 2 ] && printf '%s\n' "$arg"
done

コード${#arg}は長さ(バイト)を要求します$arg

おすすめ記事