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:
+39
-10
@@ -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
|
||||||
fi
|
if [ -z "$customerNumber" ]; then
|
||||||
|
echo "Kundennummer darf nicht leer sein."
|
||||||
|
echo ""
|
||||||
|
else
|
||||||
|
break
|
||||||
|
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=""
|
||||||
|
|||||||
Reference in New Issue
Block a user