如何在 bash 中回显所有大于 2 个字符的参数?

Bre*_*eph 0 bash

我有以下

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

我需要对字符大于 2 的参数做一些事情。我可以在不将"$@"扩展到循环的情况下回显它们然后进行检查wc -c 在这种情况下,我需要输出123 6789

Jef*_*ler 6

你不需要扩展, $@但你应该循环它:

for arg in "$@"
do
  [ "${#arg}" -gt 2 ] && printf '%s\n' "$arg"
done
Run Code Online (Sandbox Code Playgroud)

${#arg}代码请求的长度(以字节为单位)$arg

  • 少打字,但同样的事情:`for arg do [ "${#arg}" -gt 2 ] && echo "$arg"; 完成` (2认同)