0

我编写了一个需要 sudo 权限的 perl 脚本,但它接受的参数总是不同的。例如

sudo /home/user/script.pl user

我想把它添加到 visudo 是行不通的。这可能吗?如果不是,我正在考虑使用管道之类的东西来解决这个问题,例如:

echo user | sudo /home/user/script.pl

有没有办法以这种方式将变量传递给 perl 脚本?

我看到的唯一其他选项是将参数写入文件。然后我仍然可以将脚本添加到 visudo。

4

1 回答 1

0

为什么不使用ARGVtmp/script.pl的内容

use strict;
use warnings;

print join(',', @ARGV);

exit;

结果

$ sudo perl tmp/script.pl foo bar
> foo,bar

或者您可以使用Getopt::Long(命令行选项的扩展处理)

于 2019-10-24T09:52:54.880 回答