¿Cómo hacer que las funciones sean visibles para los scripts de bash?

Tengo una función llamada groovy definida en mi .bashrc.

Tengo este script de bash donde quiero usar groovy.

Dice./batch.sh: line 7: groovy: command not found

Aunque fuente .bashrc al principio de la secuencia de comandos.

Qué me estoy perdiendo ?

batch.sh

#!/usr/bin/env bash
source ~/.bashrc
for file in *.html;
do
    name="${file%.html}"
    groovy "$name.html" "uncached/$name.mp3"
done;

parte de .bashrc

function groovy {
    sed -n '/<pre>/,/<\/pre>/p' "$1" |  replace '<pre>' '' '</pre>' '' | hextomp3 - "$2"
}

function hextomp3 {
    echo "in $1"
    echo "out $2"
    echo "cut -c10-74 $1 | xxd -r -p - $2"
    cut -c10-74 "$1" | xxd -r -p - "$2"    
}

salida:

chaouche@karabeela ~/DOWNLOADS/MUSIQUE $ ./batch.sh
./batch.sh: line 6: groovy: command not found
./batch.sh: line 6: groovy: command not found
./batch.sh: line 6: groovy: command not found
./batch.sh: line 6: groovy: command not found
./batch.sh: line 6: groovy: command not found
./batch.sh: line 6: groovy: command not found

Respuestas a la pregunta(1)

Su respuesta a la pregunta