#!/bin/bash
. /usr/bin/common
#---------------------------------------------------------------------------------------------
#
# Erwartet
# Bild-Dateien im aktuellen Verzeichnis
# Erzeugt
# Softlinks dieser Bilder im Zielverzeichnis
#
#---------------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------------
function usage(){
cat <
Erzeugt Softlinks aller Bild-Dateien (*.jpg *.JPG) des aktuellen Verzeichnisses im Zielverzeichnis
Cave: Das Zielverzeichnis muss als qualified name (nicht relative name) angegeben werden !
EOF
}
#---------------------------------------------------------------------------------------------
targetDir=""
workDir=$(pwd)
#---------------------------------------------------------------------------------------------
while getopts "ht:" opt; do
case $opt in
h) usage; exit ;;
t) targetDir=$OPTARG
targetDir=${targetDir%/} ;; # trailing '/' beschneiden
*) die "Keine gueltige Option" ;;
esac
done
#---------------------------------------------------------------------------------------------
[ -z "$targetDir" ] && die "Kein Zielverzeichnis angegeben"
[[ "$targetDir" =~ ^\.\. ]] && die "Zielverzeichnis darf kein relativer Pfad sein"
verifyDir "$targetDir"
#---------------------------------------------------------------------------------------------
while read file; do
[ -L "$file" ] && die "$file ist bereits ein Link"
sourceFile="${workDir}/${file}"
targetFile="${targetDir}/${file}"
[ -f "$targetFile" ] && die "Zieldatei $targetFile existiet bereits"
printf "%s => Softlink: %s\n" "$sourceFile" "$targetFile"
ln -s "${sourceFile}" "${targetFile}"
checkReturn "ln-Fehler $file"
done < <(ls *.JPG *.jpg 2>/dev/null)