Hendrik: env Variablen setzen

Hallo,

ich habe Probleme die env Variablen unter Linux für Testzwecke zu
setzen. Im Anhang ist mein Script.
Beim Ausführen meines CGI Scriptes hat er z.B. CONTENT_LENGTH und
CONTNENT_TYPE nicht gesetzt und gibt mit
getenv("CONTENT_TYPE"); NULL zurück.

Gruss

Hendrik

!/bin/sh

Script zu testen des CGI - Scriptes

dieses Script exportiert die CGI Umgebungsvariablen

CGI-Umgebungsvariablen

CONTENT_LENGTH=34
export $CONTENT_LENGTH

#content_type (POST)
CONTENT_TYPE="POST"
export $CONTENT_TYPE

#physicalischer Pfad für die Ablage von Daten auf dem Server
DOCUMENT_ROOT="/home/akornst/WWW/cgi-bin/"
export $DOCUMENT_ROOT

GATEWAY_INTERFACE="CGI/1.1"
export $GATEWAY_INTERFACE

#liste der Mime-Types, die der Server akzeptiert
HTTP_ACCEPT="*/*"
export $HTTP_ACCEPT

#liste der Zeichensätze, die der Webserver akzeptiert
HTTP_ACCEPT_CHARSET="iso-8859-1,*,utf-8"
export $HTTP_ACCEPT_CHARSET

#liste der Kodirungs-Methoden, die der aufrufende Browser enthält
HTTP_ACCEPT_ENCODING="gzip"
export $HTTP_ACCEPT_ENCODING

#Landessprache, die der aufrufende Browser verwendet
HTTP_ACCEPT_LANGUAGE="de"
export $HTTP_ACCEPT_LANGUAGE

#Eenthält Informationen über den Status der HTTP-Verbindung
zwischen Server und aufrufenden Browser
HTTP_CONNECTION="Keep-Alive"
export $HTTP_CONNECTION

#Cookie
HTTP_COOKIE="Hendrik Kruege"
export $HTTP_COOKIE

#Namen oder ide IP-Adresse aus der Adresszeile des aufrufenden
Browsers
HTTP_HOST="http://www.swd.de"
export $HTTP_HOST

#Enthält die URL der Webseite, von der aus das CGI-Script
aufgerufen wurde
HTTP_REFERER="www.uni-home.de"
#export $HTTP_REFERER

#Enthält Produkt und Versionsinformation zum aufrufenden Browser
HTTP_USER_AGENT="Netscape"
export $HTTP_USER_AGENT

#Wird ein CGI_Script aufgerufen wird der String nach dem
Scriptnamen bis zu ? ausgegeben
PATH_INFO="/varlue/manufacturer?"
export $PATH_INFO

#IP-Adressen des Server-Rechners, über den das CGI-Script
aufgerufen wurde
REMOTE_ADDR="192.168.1.1"
export $REMOTE_ADDR

#Hostname des Rechners, über den das CGI-Script aufgerufen wurde
REMOTE_HOST="node20.swd.de"
export $REMOTE_HOST

#Enthält Protokollinformationen, wenn auf dem Server das Protokoll
ident für geschützte Zugriffe läuft
REMOTE_IDENT="ident"
export $REMOTE_IDENT

#Ermittelt über welchen Port des Clien-Rechners das CGI-Script
aufgerufen wurde
REMOTE_PORT="80"
export $REMOTE_PORT

#Ermittelt den Benutzernamen, mit dem sich der aufrufende Benutzer
angemeldet hat, um das CGI-Script aufzurufen
REMOTE_USER="hkrueger"
export $REMOTE_USER

#Enthält die HTTP_Auftragsmethode, mit der das CGI-Programm
aufgerufen wurde(GET,POST)
REQUEST_METHOD="POST"
export $REQUEST_METHOD

#Enthält den HTTP-Pfad des Scriptes inklusive der im Aufruf
übergebenen Daten
REQUEST_URI="/cgi-bin/search2?value=test"
export $REQUEST_URI

#Enthält den HTTP-Pfad des Scriptes
SCRIPT_NAME="/cgi-bin/search2"
export $SCRIPT_NAME

#Enthält den physischen Pfad des Scriiptes
SCRIPT_FILE_NAME="/home/akornst/WWW/cgi-bin/search2"
export $SCRIPT_FILE_NAME

#IP-Adressen des Server Rechners
SERVER_ADDR="192.168.100.1"
export $SERVER_ADDR

#Enthält Namen/E-Mailadresse des Webserver Administrators
SERVER_ADMIN="wwwadmin@swd.de"
export $SERVER_ADMIN

#Name des Webserver
SERVER_NAME="node1.swd.de"
export $SERVER_NAME

#Enthält die Portnummer
SERVER_PORT="80"
export $SERVER_PORT

#Enthält die Version des HTTP-Protokolls, das der installierte
Web-Server unterstüzt
SERVER_PROTOCOL="HTTP/1.1"
export $SERVER_PROTOCOL

#Enthält eine erweiterte selbstauskunft des Servers
SERVER_SIGNATURE="Apache/1.3.14 Server at localhost Port 80"
export SERVER_SIGNATURE

#Enthält den Namen und die Versionsnummer der Webserver-Software
auf dem Serverrechner
SERVER_SOFTWARE="Apache/1.3.14"
export $SERVER_SOFTWARE

PATH_TRANSLATED="/home/akornst/WWW/cgi-bin/search2"
export $PATH_TRANSLATED

#Enthält eine Zeichenkette mit Daten, die dem Script im URI nach
dem ersten ? übergeben wurden
QUERY_STRING="value=COM"
export $QUERY_STRING

#export $QUERY_STRING

  1. Hi Hendrik,

    CONTENT_LENGTH=34
    export $CONTENT_LENGTH

    Hast Du das mal im Dialog ausprobiert?

    Deine Shell evaluiert $CONTENT_LENGTH, als Kommando bleibt also übrig:

    export 34

    Das ist nicht das, was Du willst ... Du willst ja die Variable exportieren,
    nicht ihren Inhalt.

    Viele Grüße
          Michael