Bash 替换shell脚本中的字符

Bash 替换shell脚本中的字符,bash,replace,str-replace,Bash,Replace,Str Replace,我有一个剧本: $cat ifile.sh extension="name.f" parameter_list="abc,xyz,stuv,ptq,rhu" echo newfiles are $parameter_list 我想执行ifile.sh,输出应将逗号,替换为扩展名,即\u name.f。所以我的欲望输出将是 $sh ifile.sh newfiles are abc_name.f xyz_name.f stuv_name.f ptq_name.f rhu_name.f 所以我需

我有一个剧本:

$cat ifile.sh
extension="name.f"
parameter_list="abc,xyz,stuv,ptq,rhu"
echo newfiles are $parameter_list
我想执行ifile.sh,输出应将逗号
替换为扩展名,即
\u name.f
。所以我的欲望输出将是

$sh ifile.sh
newfiles are abc_name.f xyz_name.f stuv_name.f ptq_name.f rhu_name.f
所以我需要修改
echo newfiles是$parameter\u list
。我正在试着做以下事情

$cat ifile.sh
extension="name.f"
parameter_list="abc,xyz,stuv,ptq,rhu"
echo newfiles are sed -i 's/,/$extension/g' $parameter_list

使用参数展开

echo "newfiles are ${parameter_list//,/_$extension }_$extension"