如何添加一个variables到一个grep命令

我正在运行以下grep命令

var=`grep -n "keyword" /var/www/test/testfile.txt` 

这工作正如所料,但我需要从一个循环dynamic插入文件名如下所示:

 var=`grep -n "keyword" /var/www/test/`basename ${hd[$i]}`.txt` 

但显然是使用““““““““““““““““““““`当使用`

任何想法离开这个?

请不要使用`,并使用一个函数

 mygrep() { grep -n "yourkeyword" "/var/www/test/${1##*/}.txt"; } for (( i= 0; i < ${#hd[@]}; i++ )); do yourvar=$(mygrep "${hd[$i]}"); done 

你也可以使用:

 var=$(grep -n "keyword" "/var/www/test/$(basename "${hd[$i]}").txt") 

(注意引用,并且,如adaptr提到的,不要使用反引号,而是$(...) ,因为它是可嵌套的)。