Ruby CLI:提示root密码并继续以root身份执行脚本?

除了要求用户通过sudo调用ruby脚本之外,有没有办法开始以普通用户身份运行脚本,然后在运行时的某个时刻,通过提示用户输入root密码,将权限提升为root?

也许是#exec使用前缀为sudo的当前命令?

这很有效。 它只是使用exec再次调用自身(在本例中为test_script )。 但要非常小心,通过添加一个调用exit的条件来确保它不会无限运行。

 #!/usr/bin/env ruby if ARGV[0] == "--second" puts "...called again and exiting." exit end puts "Calling self again..." exec "sudo ./test_script --second"