[PHP/Linux]Hoe toetscombinaties sturen naar shell_exec() *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik denk dat dit best een n00b vraag is, maar het probleem is dat ik niet weet hoe mijn probleem heet en dat ik dus ook niet weet welke zoektermen ik moet gebruiken. Ik heb de search/google dus wel gebruikt, maar ik heb niks kunnen vinden.

Ik wil dus een programma aansturen met shell_exec() in de linux shell. Nou vraagt dat programma een keer om ctrl-d in te drukken. Hoe stuur ik zo'n ctrl-d naar shell_exec()? Ik heb op asciitable.com gekeken omdat ik dacht dat het misschien met chr() moest, maar daar zag ik ook niets. Wie kan mij helpen?

Acties:
  • 0 Henk 'm!

  • Alex
  • Registratie: Juli 2001
  • Laatst online: 20-08 21:38
Verwijderd schreef op 22 juni 2004 @ 19:04:
Ik denk dat dit best een n00b vraag is, maar het probleem is dat ik niet weet hoe mijn probleem heet en dat ik dus ook niet weet welke zoektermen ik moet gebruiken. Ik heb de search/google dus wel gebruikt, maar ik heb niks kunnen vinden.

Ik wil dus een programma aansturen met shell_exec() in de linux shell. Nou vraagt dat programma een keer om ctrl-d in te drukken. Hoe stuur ik zo'n ctrl-d naar shell_exec()? Ik heb op asciitable.com gekeken omdat ik dacht dat het misschien met chr() moest, maar daar zag ik ook niets. Wie kan mij helpen?
Volgens mij heb je hier niet de juiste taal voor gekozen. Je zou eventjes kunnen zoeken op http://gtk.php.net, maar ik geef je niet veel kans...

[ Voor 1% gewijzigd door Alex op 22-06-2004 21:48 . Reden: TS niet goed begrepen... ]

Deze post is bestemd voor hen die een tegenwoordige tijd kunnen onderscheiden van een toekomstige halfvoorwaardelijke bepaalde subinverte plagiale aanvoegend intentioneel verleden tijd.
- Giphart


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

ctrl-d onder linux is afaik een EOF character (0x1A uit mijn hoofd ...?). Maar voor zover ik weet kun je die escape-codes in linux ook instellen en opvragen. Maar dat kan een ander vast beter toelichten dan ik ...

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • _Squatt_
  • Registratie: Oktober 2000
  • Niet online
Misschien dat het volgende werkt:
PHP:
1
shell_exec( "echo -en '\004' | jouw_prog");

Maar als je iets meer verteld over wat je wilt bereiken is er vast wel een betere manier te bedenken.
drm schreef op 22 juni 2004 @ 19:14:
ctrl-d onder linux is afaik een EOF character (0x1A uit mijn hoofd ...?).
0x04, in DOS is EOF 0x1A (en dus ctrl-z). als ik 't allemaal goed onthouden heb

"He took a duck in the face at two hundred and fifty knots."


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Wat ik dus wil is smbclient aansturen via shell_exec() zodat mensen mij via een site een windows Net Send bericht kunnen sturen als ik achter mijn computer zit.

Dat werkt dus zo:

[root@sv root]# smbclient -M r1c0-athlon
added interface ip=192.168.1.1 bcast=192.168.1.255 nmask=255.255.255.0
Got a positive name query response from 192.168.1.115 ( 192.168.1.115 )
Connected. Type your message, ending it with a Control-D
*insert bericht here*
*druk op ctrl-D*
sent 21 bytes
[root@sv root]#

en dan wou ik dat dus zo doen in php:
PHP:
1
shell_exec("smbclient -M $host \n $bericht *ctrl-d*");

Maar nou de grote vraag, hoe maak ik die *ctrl-d*

Acties:
  • 0 Henk 'm!

Verwijderd

echo "bla"|smbclient -M hostname

zoiets moet wel werken :)

net even getest en het werkt op een shell, dus dan zal het vanuit php ook wel werken.

[ Voor 47% gewijzigd door Verwijderd op 23-06-2004 00:00 . Reden: toevoeging ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Probleem opgelost

Een keer "man smbclient" doet een hoop |:(

deze regel does the trick:
PHP:
1
shell_exec("echo $bericht | smbclient -M $host -U $afzender")


Helemaal geen ctrl-d nodig 8)7

Toch bedankt allemaal!

[ Voor 9% gewijzigd door Verwijderd op 23-06-2004 00:19 ]

Pagina: 1