in reply to Re^2: Automating sudo actions
in thread Automating sudo actions

Thanks for all the great suggestions. Unfortunately, changing the environment is quite impossible. I'm stuck having to 'sudo bash'. If I can't automate through that (icky) interface, I'm stuck largely copy/pasting chunks of commands.

Can this be done in perl?

Replies are listed 'Best First'.
Re^4: Automating sudo actions
by andal (Hermit) on Jan 25, 2011 at 16:03 UTC
    Thanks for all the great suggestions. Unfortunately, changing the environment is quite impossible. I'm stuck having to 'sudo bash'. If I can't automate through that (icky) interface, I'm stuck largely copy/pasting chunks of commands.

    Why are you stuck to 'sudo bash'? Why can't you do `sudo perl_script`?

    Well, even if you can't control sudo configuration and only "bash" is available for execution, then try something like

    my $pid = open(OUT, "|-"); die "Can't fork\n" unless defined $pid; if(!$pid) { exec "sudo bash"; die "oops no exec\n"; } select OUT; $| = 1; print "echo hi there\nexit\n"; close(OUT);
    Read perldoc perlipc. Section Bidirectional Communication with Another Process. Maybe this will help you to do simple automation.