PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : bash / netcat : Übergabe von Daten



Molaf
18-01-2010, 09:34
Hallo,

ich habe ein Problem mit netcat bzw. der bash. Woran es genau liegt, finde ich nicht heraus.

Mit der Zeile

netcat -l -u -p 49997 -q 1 -e /home/user/action
starte ich einmal(-q 1) netcat mit UDP auf Port 49997, bei Eingang eines Datenpakets soll netcat das Skript action aufrufen, welches zu Testzwecken die übergebenen Daten in eine Datei schreibt:

#!/bin/bash
echo $1 > /home/user/test.txt

netcat beendet sich dann selber(soll es), das Skript wird auch ausgeführt. Wenn in action die Variable $0 weggeschrieben wird, erscheint auch der volle Pfad+Name des Skripts in der Ausgabedatei.

Rufe ich netcat statt mit -e mit einer pipe zum Skript auf, wird text.txt zwar angelegt, ist aber leer.

Kann ja eigentlich nicht so schwer sein.... :(

Gruß,
Molaf

msi
18-01-2010, 10:51
in $1 ist nur der erste parameter enthalten und der ist leer.
du musst schon von STDIN lesen.


zB



#!/bin/bash
cat /dev/stdin > /home/user/test.txt

Molaf
18-01-2010, 11:04
Da ist er ja, der grobe Schnitzer :).

Danke