Refactor mail.sh to enhance user input handling and project selection

- Replaced parameter input with interactive prompts for customer number and project selection.
- Updated remote directory path based on user-selected project.
- Adjusted local save path and file pattern to use the customer number input.
This commit is contained in:
2025-12-15 14:08:59 +01:00
parent 0d56365fcf
commit 10b000feef
+38 -9
View File
@@ -1,26 +1,55 @@
#!/bin/bash #!/bin/bash
# Überprüfen, ob ein Parameter übergeben wurde # Kundennummer eingeben
if [ -z "$1" ]; then while true; do
echo "Bitte geben Sie eine Nummer als Argument an. Beispiel: $0 123" echo "Bitte geben Sie eine Kundennummer ein:"
exit 1 read -p "Kundennummer: " customerNumber
if [ -z "$customerNumber" ]; then
echo "Kundennummer darf nicht leer sein."
echo ""
else
break
fi fi
done
# Definieren Sie die Verbindungsdetails # Server und LUSER definieren
server="appdb02.in.easyname.com" server="appdb02.in.easyname.com"
LUSER="${LUSER:?Bitte LUSER setzen!}" # Setzen Sie hier Ihren Benutzernamen ein, wenn LUSER nicht als Umgebungsvariable gesetzt ist LUSER="${LUSER:?Bitte LUSER setzen!}" # Setzen Sie hier Ihren Benutzernamen ein, wenn LUSER nicht als Umgebungsvariable gesetzt ist
# Menu zur Auswahl des Remote-Directories
while true; do
echo "Bitte wählen Sie ein Projekt:"
echo "1) pinc"
echo "2) php-es-info"
read -p "Ihre Auswahl (1 oder 2): " choice
case $choice in
1)
remoteDir="pinc"
break
;;
2)
remoteDir="php-es-info"
break
;;
*)
echo "Ungültige Auswahl. Bitte wählen Sie 1 oder 2."
echo ""
;;
esac
done
# Remote-Directory überprüfen und Subdirectories auflisten, unter Verwendung von bash # Remote-Directory überprüfen und Subdirectories auflisten, unter Verwendung von bash
remoteDirectories=$(ssh "$LUSER@$server" "bash -c 'ls -d /Apps/easyname/run/pinc*/*/'") remoteDirectories=$(ssh "$LUSER@$server" "bash -c 'ls -d /Apps/easyname/run/${remoteDir}*/*/'")
# Wenn keine Verzeichnisse gefunden wurden, Skript beenden # Wenn keine Verzeichnisse gefunden wurden, Skript beenden
if [ -z "$remoteDirectories" ]; then if [ -z "$remoteDirectories" ]; then
echo "Keine Subdirectories in /Apps/easyname/run/pinc/ gefunden." echo "Keine Subdirectories in /Apps/easyname/run/${remoteDir}/ gefunden."
exit 1 exit 1
fi fi
localSavePath="$PWD/$1" # Setzt den lokalen Speicherpfad relativ zum aktuellen Verzeichnis localSavePath="$PWD/$customerNumber" # Setzt den lokalen Speicherpfad relativ zum aktuellen Verzeichnis
filePattern="$1-*" filePattern="$customerNumber*.eml"
# Schleife über die gefundenen Verzeichnisse und in jedem Verzeichnis nach Dateien suchen # Schleife über die gefundenen Verzeichnisse und in jedem Verzeichnis nach Dateien suchen
fileList="" fileList=""