Perl6如何以其他用户身份运行命令?
上下文:zef module manager是作为普通用户安装的,有些命令需要以root用户身份运行。
临时解决方案:以下功能允许以其他用户身份运行Shell命令:
unit module Repo::Utils::RunAsUser;
sub RunAsUser( Str $user, Str $command, --> Proc ) is export {
return shell "su -c \'$command\' $user";
}
问题:
谢谢!
答案 0 :(得分:0)
也许不是100%Perl6解决方案,但您可以使用以Perl6编写的Sparrow6在用户下运行命令。
示例:
https://github.com/melezhik/Sparrow6/blob/master/documentation/dsl.md#zef-modules
https://github.com/melezhik/Sparrow6/blob/master/documentation/dsl.md#bash-commands