¿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