Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re: different terminal

by blue_cowdawg (Monsignor)
on Jun 10, 2014 at 16:53 UTC ( [id://1089425]=note: print w/replies, xml ) Need Help??


in reply to different terminal

      nd if i like to execute some commands i have to get in to the application terminal and execute the commands that iv used.

if you re running in a Linux environment and want a script to collect the results of running a command (or commands) why bother with a terminal at all? Something like this should work (weak example):

#!/usr/bin/perl -w use strict; my $cmd=qq@ date who ps -ef netstat -i ifconfig -a ) | @; open CMD, $cmd or die $cmd . ":$!"; my @lines=<CMD>; # slurp! close CMD; chomp @lines; # do something here.


Peter L. Berghold -- Unix Professional
Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg

Replies are listed 'Best First'.
Re^2: different terminal
by GotToBTru (Prior) on Jun 10, 2014 at 17:12 UTC

    I'm curious what the ) | does.

    1 Peter 4:10

      | opens a pipe (see perldoc perlopentut). ( ... ) delimits a subshell, and can be tested at the command line:

      davido@somehost:~$ ( > date > who > ) Tue Jun 10 11:20:34 MDT 2014 davido :0 2014-06-09 19:35 (:0) davido pts/0 2014-06-09 19:38 (:0)

      See This stackexchange explanation.


      Dave

      It works better without the ")".

      With it, the shell complains:

      sh: 6: Syntax error: ")" unexpected
      but the output is produced anyway.

              What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against?
                    -Larry Wall, 1992

        Actual demo code:

        sh-4.1# cat demo.pl #!/usr/bin/perl -w use strict; my $cmd=qq@ ( date netstat -i who cat /etc/debian_version ) @; open PIPE,"$cmd |" or die "$cmd:$!"; my @lines=<PIPE>; printf "%s\n",join("\n",@lines);
        produces
        sh-4.1# perl demo.pl Tue Jun 10 13:46:05 EDT 2014 Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX +-OVR Flg eth0 1500 0 19404144 0 0 0 23405161 0 +0 0 BMRU lo 65536 0 2016133 0 0 0 2016133 0 +0 0 LRU root pts/0 2014-06-10 13:11 (144.160.226.53) 6.0.9

        NOTE: there should be a chomp in there somewhere, but I forgot...


        Peter L. Berghold -- Unix Professional
        Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg

        Funny, doesn't do that on my Linux (Debian 7) box...

        sh-4.1# ( > ls > pwd > date > ) deb7-postinstall-pmaster.sh deb7-postinstall.sh list.txt /var/www/scripts Tue Jun 10 13:40:37 EDT 2014 sh-4.1#


        Peter L. Berghold -- Unix Professional
        Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1089425]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others studying the Monastery: (4)
As of 2024-04-16 22:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found