使用sudo命令执行tcl

时间:2013-08-23 13:52:57

标签: java bash tcl sudo

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

source /path/of/my/script.tcl

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

1 个答案:

答案 0 :(得分:1)

您可以从 sudo 内部运行 tclsh (Tcl的“母舰”实现,用C语言编写),或者您可以运行使用TclJava的JVM图书馆。但是, sudo 使用提升的权限而不仅仅是库来运行整个进程;你需要考虑创建一个能够做你想做的事情的程序,可能会传入适当的参数。

FWIW,我首先尝试:

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

如果有效的话,这将是最简单的;它是 tclsh 的设计用途(加上 sudo )。如果脚本需要访问进程内JVM,则它是不合适的。如果是这种情况,你可能不得不编写一个小的包装Java程序。