我有以下
#!/bin/bash
function f1 ()
{
echo "all parameters with more than 2 characters"
}
f1 123 45 6789
我需要对字符大于 2 的参数做一些事情。我可以在不将“$@”扩展到循环的情况下回显它们然后进行检查wc -c
在这种情况下,我需要输出123 6789
我有以下
#!/bin/bash
function f1 ()
{
echo "all parameters with more than 2 characters"
}
f1 123 45 6789
我需要对字符大于 2 的参数做一些事情。我可以在不将“$@”扩展到循环的情况下回显它们然后进行检查wc -c
在这种情况下,我需要输出123 6789
你不需要扩展
$@
,但你应该遍历它:该
${#arg}
代码要求 . 的长度(以字节为单位)$arg
。使用它更容易
zsh
:${array:#pattern}
是从数组的扩展中删除与模式匹配的元素(对${var#pattern}
/${var##pattern}
ksh 运算符的扩展)。使用M
参数扩展标志(对于matched),则相反,只保留匹配的那些。无需外部命令 (
wc
);尝试在循环中使用“参数扩展/参数长度”。