Linux bash: Zeichen im string prüfen (slash)

Um Tippfehler ganz auszuschließen, habe ich mir mal Gedanken gemacht um Fehler bei der Pfadangabe (read…)im Script zu umgehen.
Mit der Funktion prüft man die Eingabe, z.b. eines Pfades darauf, ob die Slashes am Anfang oder ggf. am Ende gesetzt sind. Die Eingabe „/pfad/“ hat nicht die selben Auswirkungen wie „pfad/“ oder nur „pfad“! Wenn man ausversehen nur „pfad“ eingibt werden alle Handlugen, im Verzeichnis wo das Script ausgeführt wird, ausgeführt. Um dies zu verhindern werden stets die Slashes am Anfang und Ende gesetzt, um dadurch die korrekte Pfadangabe zu erreichen.


#!/bin/bash

read -p "pfad " home

if echo "$home" | grep -q '^/' ; then
echo "$home mit / am Anfang"
else
echo "$home ohne / am Anfang"
#Slash am Anfang einfügen
home=/$home
echo "$home wieder mit / am Anfang"
fi

echo "------------------------------------"

if echo "$home" | grep -q '/$' ; then
echo "$home mit / am Ende"
else
echo "$home ohne / am Ende"
# Slash am Ende einfügen
home=$home/
echo "$home wieder mit / am Ende"
fi

grep -q ‚^/‘ bedeutet dass das erste Zeichen ein „/“ sein muss und grep -q ‚/$‘ das letze Zeichen auch ein „/“. Wenn dies nicht zutrifft (else), werden die Slashes jeweils gesetzt!

Ausgabe sieht so aus:

pfad home
home ohne / am Anfang
/home wieder mit / am Anfang
————————————
/home ohne / am Ende
/home/ wieder mit / am Ende

Oder so:

pfad /home
/home mit / am Anfang
————————————
/home ohne / am Ende
/home/ wieder mit / am Ende

Die die echo Ausgaben sind nur zur Veranschaulichung gesetzt worden!

Check Also

fail2ban mit IPv6

IPv6 verbreitet sich immer mehr. Leider nehmen auch die BruteFroce Angriffe zu. Wer jetzt fail2ban ...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Enladung zum Webinar
3 Schritte zu 4 stelligen Einnahmen

 

Moderator: Lars Pilawski

Lars Pilawski

 

 

 

 

 

 

 

 

 

Dipl.-Ing. Lars Pilawski ist als
„Der Win-Win-Win-Marketer“
im deutschen Raum bekannt
und zeigt kostenlos, wie man
nur mit Fleiß ohne Kapital
und Risiko automatisiert
Online Geld verdient.

 


Guardar

Guardar