online 1
gast (50)

/ Forum / Linux

LinuxLinux

Fragevon LowNoise vom 11.09.2019, 10:12 Options

Shell mehere Wörte übergeben

Hi Leute,

habe mir ein Shell Script geschrieben welches aus einer vorhandenen Textdatei bestimmte Dinge heraus suchen soll.

ich setze also innerhalb des Shell scriptes eine Variable

suche=Bitte

und das Ergebnis ist super.

Möchte ich aber nach etwas konkretem suchen dann geht's nicht

suche=Bitte Namen eingeben

Das System sagt mir dann das es den Datiennamen nicht finden kann. Habe es auch schon mit Anführungsstrichen, Hochkomma und diesen beiden ´ und ` versucht.

Auch mit einem ECHO funktioniert's nicht:

echo "Geben Sie den Suchbegriff ein: "
read suche

Man kann dann zwar alles eingeben, mit einem Wort geht's auch aber sobald ein Leerzeichen auftaucht, knallts :-(

Hab Ihr irgendwelche Tips ?
Gruß
LowNoise


Antwort schreiben

Antwort 1 von Randolf vom 11.09.2019, 12:56 Options

Ich vermute, Du hast grep im Einsatz.

Antwort 2 von stefanix vom 11.09.2019, 15:02 Options

Hi,
wenn du der Variablen "suche" den String mit "Bitte Namen eingeben" übergibst, wird dieser String mit grep "$suche" test.text auch gefunden, falls in der Datei vorhanden.Du musst grep den String in Anführungszeichen übergeben.
Grüße, Stefan

Antwort 3 von stefanix vom 11.09.2019, 15:16 Options

PS: Zum Verständnis,

suche="Hallo Welt"
echo $suche -> Ergebnis: Hallo Welt
grep Hallo Welt test.txt -> Welt wird als 2. Argument (File) übernommen und nicht als Suchstring.
grep [options] PATTERN [FILE. . .]

Schau mal mit man bash unter Quoting nach.

Grüße Stefan

Ähnliche Themen

Shell-Skript
Simolimo  05.05.2007 - 124 Hits - 1 Antwort

SHELL()-Funktion statt .BAT-Datei
Stefan_calc  23.05.2007 - 118 Hits -

Fehlermeldung: Shell NotifyIcon Fail
siroko26  28.05.2008 - 138 Hits -

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026