Font

Backticks mit Inputmöglichkeit gesucht

[thread]14478[/thread]


hide all open all
  • close +7 replies
  • close close guest ContraFack  2010-01-11 19:33 #130395 #130395
     
    Tach ich versuche über perl mittels backticks denn output eines cmd eingabe auszuwerten. Ich will ein externes programm auf konsolenebene ansprechen und steuern.

    Leider werden dazu nicht nur parameter benötigt, sondern während das Script wurde, benötigt es weitere eingaben in form von einem "Y" z.B.

    Ich beschäftige mich nun schon einige stunden mit dem Problem und hoffe nun zuletzt hier Hilfe oder wenigstens einen Tipp zu erhalten.

    Kann mir jemand weiterhelfen?

    gruss, CF
    • close +5 replies
    • close close pq  2010-01-11 19:35 #130396 #130396
      User since
      2003-08-04
      7391 articles
      [Homepage]

      user image  
      versuch es mal mit CPAN:IPC::Open3 oder CPAN:IPC::Run
      Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
      lesen: Wiki:Wie frage ich & Perldoc:perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
      • close +4 replies
      • close close guest ContraFack  2010-01-11 20:14 #130397 #130397
         
        hmm ich muss sagen, nicht ganz einfach. Ich möchte eigentlich nur einen einzelnen Befehl abgeben und zwar "runas" und dafür ist eine passwort eingabe vonnöten, also ein interaktiver userinput denn ich mit perl simlulieren müsste.

        Gibt es vielleicht speziell dafür noch einen anderen Weg?
        • close pq  2010-01-11 20:16 #130399 #130399
          User since
          2003-08-04
          7391 articles
          [Homepage]

          user image  
          vielleicht CPAN:Expect?
          Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
          lesen: Wiki:Wie frage ich & Perldoc:perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
        • close +2 replies
        • close close GwenDragon  2010-01-12 11:40 #130423 #130423
          User since
          2005-01-17
          5585 articles
          [Homepage]

          user image  
          Ist das runas unter Windows? Das liest nur interaktiv ein.
          Packagebeilage:
          Perl-Beispiele können bei Anfängern und Perl-Evangelisten üble Irritationen verursachen und Damian Conway zur Rettung des »Guten Perl-Programmierstils« auf den Plan rufen!


          Ich gebe niemals Perl-Code an Psychopathen weiter. Die bekommen von mir BASIC.

          Germanistikfreaks und grammatikalisch Zwanghafte verweise ich an Hans weiter.
          • close guest ContraFack  2010-01-13 15:48 #130477 #130477
             
            eben, habe es geschafft. danke für denn tipp!

            Code:
            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            12
            13
            14
            15
            16
            17
            18
            19
            20
            #!/bin/perl

            use Expect;

            $text = "TestShutdown";
            $user = "test_admin";
            $pw = "admin12345";

            #--- CONFIGURATION -----------------------------------------------------------#
            $cmd = 'runas /user:$user "shutdown -s"';
            $prompt = "[Pp]assword";

            #--- START RUNAS LOGIN SEQUENCE ;;! ----------------------------------------------#
            $exp = new Expect();
            $exp->raw_pty(1);
            $exp->spawn($cmd) or die "spawn failed";

            #--- LOGIN AND INTERACT ! ----------------------------------------------------#
            $exp->expect(10000, [ $prompt => sub { $_[0]->send("$pw\n"); } ]);
            $exp->interact();


            cheers, ContraFack
    • close bianca  2010-01-12 11:54 #130426 #130426
      User since
      2009-09-13
      1227 articles
      [default_avatar]  
      Code (perl):
      1
      2
      3
      4
      5
      6
      
      #!/usr/bin/env perl
      use strict;
      use warnings;
      
      my $eingabe = <STDIN>;
      print "Eingegeben wurde: \'$eingabe\'\n";
      10 print "Hallo"
      20 goto 10

View all threads created 2010-01-11.

[Powered by Battie]
Powered by Perl
Powered by Pound
Some Icons are from
Fugue Icons
Impressum