使用带前缀的bash通配符

Rak*_*kib 3 unix bash shell scripting wildcard

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

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

for filename in $*
do
   ...
   generate t_$(filename)
done
Run Code Online (Sandbox Code Playgroud)

循环完成后,我想做类似的事情cat t_$*.但它不起作用.所以,如果争论的话a b c,那就是在抓t_a, b and c.我想抓住文件t_a, t_b and t_c.

无论如何要做到这一点,而不必将名称列表保存在另一个变量中?

cho*_*oba 8

您可以使用参数扩展:

cat "${@/#/t_}"
Run Code Online (Sandbox Code Playgroud)

/意思是替代,#意思是开头.