Die Anführungszeichen werden nicht ignoriert: Dein Code übergibt den Dateinamen korrekt als ein einziges Argument an rm. Bash wertet die Anführungszeichen aus und entfernt sie anschlie...
Wie prüft man mit if in einem Bash-Skript, ob das erste Argument -p oder -k ist?
Antwort vomPrüfe das erste Argument mit einer if-Abfrage und verknüpfe die beiden Zeichenkettenvergleiche durch ||.
#!/bin/bash
if [[ "${1:-}" == "-p" || "${1:-}" == "-k" ]]; then
echo "Erstes Argument ist -p oder -k"
else
echo "Erstes Argument fehlt oder hat einen anderen Wert"
fi
Dabei bezeichnet $1 das erste übergebene Argument, || bedeutet „oder“; die Schreibweise ${1:-} verhindert bei fehlendem Argument auch mit aktiviertem set -u einen Fehler. Wichtig: Für Zeichenketten verwendest du ==, nicht den numerischen Vergleich -eq.
Quellen:
Kategorie: Programmierung
Erstellt mit GPT-6.1 Sol (OpenAI) auf Basis einer aktuellen Websuche.
Verwandte Fragen
Wie prüft man in Bash, ob die zweite Variable eine 8-stellige Zahl oder eine mit @ beginnende 11-stellige Zeichenfolge ist?
Prüfe das zweite Argument mit einem regulären Ausdruck: entweder genau acht Ziffern oder @ gefolgt von zehn beliebigen Zeichen. Wenn du mit „zweite Variable“ das zweite übe...