A documentação da expansão dos parâmetros shell diz que a sintaxe de substituição é:
${parameter/pattern/string}
Observe que a primeira parte é um parameter
, não outra expressão contendo uma expansão de parâmetro. O mesmo vale para todos os outros modificadores de expansão. Você tem que fazer isso em duas etapas:
func1=${FUNCNAME:1}
if [[ ${func1/$FUNCNAME/} != ${func1} ]]