我已经编写了一个需要sudo权限的perl脚本,但它接受的参数总是不同的。例如
sudo /home/user/script.pl user
我想把这个添加到visudo中是行不通的。这可能吗?如果不是的话,我正在考虑也许用管道之类的东西来解决这个问题,比如:
echo user | sudo /home/user/script.pl
有没有一种方法可以将变量以这种方式传递给perl脚本?
我看到的唯一其他选项是将参数写入文件。然后我仍然可以将脚本添加到visudo中。
为什么不使用ARGV?tmp/script.pl的内容
use strict;
use warnings;
print join(',', @ARGV);
exit;
结果
$ sudo perl tmp/script.pl foo bar
> foo,bar
或者您可以使用Getopt::Long(命令行选项的扩展处理(