Hej
Potrzebuję aby skrypt w bashu komunikował się ze skryptem w perlu. Jeżeli uruchomię skrypt w perlu to poprawna komunikacja wygląda następująco:
piotrek@ubuntu:
/crypter$ ./crypter-engine.pl/crypter$
username: grzesio
password:
WELCOME
GET_FILES
/etc/gdzies
/tmp/p.jpg
/tmp/p.jpg
/tmp/abc.jpg
EOF
piotrek@ubuntu:
To, co wypisuje crypter-engine.pl pogrubiłem.
Komunikaty jak GET_FILES czy tez nazwa uzytkownika ("grzesio") pobierane są poprzez polecenie perlowe raw_input().
Mam skrypt w bashu:
#!/bin/sh
#FIFO_IN=~/.fifo_in
#FIFO_OUT=~/.fifo_out # ok dziala, bo przetestowaniu odkomentowac!
FIFO_IN=/tmp/fifo_in
FIFO_OUT=/tmp/fifo_out
mkfifo $FIFO_IN
mkfifo $FIFO_OUT
./crypter-engine.pl < $FIFO_IN 2>&1 > $FIFO_OUT &
cat $FIFO_OUT
echo "grzesio" > $FIFO_IN;
cat $FIFO_OUT
echo "mtb" > $FIFO_IN;
cat $FIFO_OUT
echo "GET_FILES" > $FIFO_IN;
cat $FIFO_OUT
# czyszczenie
rm $FIFO_IN
rm $FIFO_OUT
exit
Niestety po prosu się on wiesza...
piotrek@ubuntu:~/crypter$ ./test.sh
^C
piotrek@ubuntu:~/crypter$ cat /tmp/fifo_out
^C
piotrek@ubuntu:~/crypter$ cat /tmp/fifo_in
^C
piotrek@ubuntu:~/crypter$
Spróbowałem więc wykonać sam ręcznie cały skrypt i zobaczyć co w którym potoku siedzi...
piotrek@ubuntu:~/crypter$ rm /tmp/fifo*
piotrek@ubuntu:~/crypter$ mkfifo /tmp/fifo_in
piotrek@ubuntu:~/crypter$ mkfifo /tmp/fifo_out
piotrek@ubuntu:~/crypter$ ./crypter-engine.pl < /tmp/fifo_in > /tmp/fifo_out &
[1] 7534
piotrek@ubuntu:~/crypter$ cat /tmp/fifo_out
^C
piotrek@ubuntu:~/crypter$ echo "grzesio" > /tmp/fifo_in
piotrek@ubuntu:~/crypter$ cat /tmp/fifo_out
username: password: Traceback (most recent call last):
File "./baza.py", line 335, in <module>
main(sys.argv[1:])
File "./baza.py", line 286, in main
user_name=log_into(cursor)
File "./baza.py", line 176, in log_into
user_password = raw_input()
EOFError: EOF when reading a line
AUTHENTICATION FAILURE
czyli już widać czemu się wiesza... Ale co z tym mogę zrobić ? :/
Wpisywania
echo "grzesio" > POTOK
perl nie chce , ale jeżeli normalnie uruchomie ten skrypt w perlu z powłoki i wpiszę niby to samo "grzesio" to działa...
Z góry dzięki za wszelie sugestie!