我试图执行以下bash脚本,但它在第8行中给出了无效的算术运算符错误。
#!/bin/bash
criteria=$1
re_match=$2
replace=$3
for i in $( ls *$criteria* );
do
src=$i
tgt=$[echo $i | sed -e "s/$re_match/$replace/"]
mv $src $tgt
done
答案 0 :(得分:1)
你需要这样做:
$(echo $i | sed -e "s/$re_match/$replace/")
而不是
$[echo $i | sed -e "s/$re_match/$replace/"]
$()
用于变量扩展。 []
用于算术。