Danke, die Dateien sind Tour Etappen mit gleichem Pattern und n={(0)1 bis 21}. Idiotischerweise kann 'marble' nicht (mehr!) mit *.gpx umgehen, und die erzeugten *.kml Dateien sehen im Quelltext wirklich grauenhaft aus, und sie sind mehrfach so groß, aber sie funktionieren.
Das hier scheint es übrigens –in *korrekter* Zuordnung– umzusetzen (nur oberflächlich geprüft, sieht aber ganz gut aus):
...
output_format="kml"
for file in *; do
if [ -d "$file" ]; then
continue
fi
base_name=$(basename "$file")
extension="${file##*.}"
output_file="${base_name%.*}.${output_format}"
gpsbabel -i gpx -f "$file" -o kml -F "$output_file"
done;