Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我编写了一个需要 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(命令行选项的扩展处理)