Parameterübergabe an Script

Hallo

folgendes Script liegt vor:

#!/bin/bash
echo -e "Content-Type: text/html\n\n"
echo ""
echo -e "\n\nTest\n"
echo -e "\n"
echo " Suchausgabe "
grep -i "${QUERY\_STRING}" list.txt
echo -e "\n"
exit 0

Der String für grep wird von einer html-seite per ‚method=get‘ geliefert. Dummerweise steht dann im QUERY_STRING z.B. ‚name=suchbegriff‘ und ich im Regen, da grep die übergebene Zeichenfolge natürlich nicht findet.
Lange Rede kurzer Sinn, wie kann ich ‚name=‘ aus dem QUERY_STRING entfernen bevor dieser an grep weitergereicht wird?

Gruß
Martin

Hi Martin,

mit

set nameneu = echo $QUERY_STRING | awk -F= '{print $2}'

entfernst Du das Gleichheitszeichen und alles, was links davon steht. Bei grep mußt Du dann nur QUERY_STRING durch nameneu ersetzen. Das geht allerdings in der Form schief, wenn QUERY_STRING ein weiteres = enthält. Das ist in der gezeigten Form übersichtlicher, geht natürlich auch ohne zusätzliche Variable.

Gruß
Ted

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Ted,

nach ein paar Veränderungen klapp’s nun.

set nameneu = echo $QUERY_STRING | awk -F= '{print $2}'

hat nicht funktioniert aber nach entfernen von ‚set‘ (nameneu=echo $QUERY_STRING | awk -F= '{print $2}') geht’s.

Also, vielen Dank für deine Hilfe

Gruß
Martin

Hi Martin,

mit

set nameneu = echo $QUERY\_STRING | awk -F= '{print $2}'

entfernst Du das Gleichheitszeichen und
alles, was links davon steht. Bei grep
mußt Du dann nur QUERY_STRING durch
nameneu ersetzen. Das geht allerdings in
der Form schief, wenn QUERY_STRING ein
weiteres = enthält. Das ist in der
gezeigten Form übersichtlicher, geht
natürlich auch ohne zusätzliche Variable.

Gruß
Ted

Hi Martin,

ich sehe gerade, woran es liegt. Ich hatte nicht darauf geachtet, daß Du explizit die bash startest. Meine Zeile war für die csh.

Gruß
Ted

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]