Shell login with IO.popen?

Hi,
Been messing around with IO and shell/system commands. I can’t seem to
figure out why the first example works, and the second one doesn’t.
Would someone be so kind and explain why this happens?

WORKS

su = IO.popen(“su - #{USERNAME}”, ‘w+’)
su.puts PASSWORD
su.puts ‘pwd’
su.close_write
puts su.readlines

DOESN’T WORK

login = IO.popen(“login”, ‘w+’)
login.puts USERNAME
login.puts PASSWORD
login.puts ‘pwd’
login.close_write
puts login.readlines

For the second one, I keep getting Invalid Login. Like it’s not really
getting what I’m putting in to STDIN?

Thanks for helping out!

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs