0

我正在使用tcl.lang.Interp.eval()执行“hello world”tcl 脚本。用于执行脚本的命令是这样的——

source /path/of/my/script.tcl

现在我如何以sudo用户身份执行脚本,因为我们无法source通过sudojava 程序执行?

4

1 回答 1

1

您可以在sudo中运行tclsh(Tcl 的“母舰”实现,用 C 编写)就​​好了,或者您可以运行使用 TclJava 库的 JVM。但是,sudo以提升的权限运行整个进程,而不仅仅是一个库;您需要考虑创建一个可以执行您想要的程序的程序,可能会传入合适的参数。

FWIW,我首先尝试:

sudo tclsh /path/of/my/script.tcl

如果可行,那将是最简单的;这就是设计使用tclsh的方式(加上sudo)。仅当脚本需要访问进程内 JVM 时才不合适。如果是这种情况,您可能必须编写一个小型包装 Java 程序。

于 2013-08-24T11:35:39.137 回答