使用带前缀的bash通配符

时间:2014-08-13 17:42:00

标签: bash shell unix scripting wildcard

我正在尝试编写一个bash脚本,它将可变数量的文件名作为参数。 该脚本正在处理这些文件并为每个文件创建一个临时文件。

要在循环中访问参数,我正在使用

for filename in $*
do
   ...
   generate t_$(filename)
done

循环完成后,我想做cat t_$*之类的事情。 但它不起作用。因此,如果参数为a b c,那么就会抓住t_a, b and c。 我想抓住文件t_a, t_b and t_c

无论如何都要这样做而不必将名字列表保存在另一个变量中吗?

1 个答案:

答案 0 :(得分:8)

您可以使用参数扩展:

cat "${@/#/t_}"

/表示替换,#表示开头。