Estoy tratando de convertir 6 scripts en un solo scripts, para que en lugar de que el usuario final tenga que descargar 6 scripts, haga chmod +x
mess to them etc, y luego ejecutar el script maestro, sólo necesitarían un script y podrían cumplir el objetivo.
El problema es que tengo un bucle que pasa por un archivo de texto pregenerado, y ejecuta xargs
en cada fila del archivo de texto pregenerado.
El xargs
entonces llama a uno de los 5 scripts, que a su vez llama a otros 2 scripts, y así sucesivamente.
He intentado coger el script que xargs
se ejecuta, y convertirlo en una función dentro del master-script, pero si sólo lo llamo por ideMini
dentro del comando xargs, me dice que el ideMini
no existe.
Esto es lo que estoy trabajando ahora mismo
function ideMini() {
whatisit=$(curl -s specificplace/$1 | jq -r)
if [[ "$whatisit" = "xyz" ]]; then
./idep.sh $1
elif [[ "$whatisit" = "abc" ]]; then
./idmovie.sh $1
fi
}
export -f ideMini
function idDownloads {
echo "ID the downloads?"
select yn in "Yes" "No"; do
case $yn in
Yes ) echo "...Identifying downloads for" $email;cut -c110- dlist.txt | xargs -I _ ideMini _ | cat -n;break;;
No ) break;;
esac
done
}
También he probado xargs -I _ bash -c 'ideMini "$@"' _
pero sin suerte.
Estoy un poco confundido en cuanto a cómo proceder. girando el idep.sh
y idmovie.sh
en funciones dentro del mastercript sería trivial, pero este asunto de los xargs me resulta problemático.
Se agradecerá cualquier indicación.
Y sí, preferiría ejecutar sólo un script en lugar de 6. Y sí, si puedo resolver esto xargs
tema lo siguiente es que intente copiar y pegar dos scripts en el scripts y esperar lo mejor. La funcionalidad de los scripts está terminada, y no habrá cambios, esto es sólo para facilitar la distribución de la, err, "app".