Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;植物“;将脚本Bash转换为tcl脚本_Bash_Unix_Tcl - Fatal编程技术网

&引用;植物“;将脚本Bash转换为tcl脚本

&引用;植物“;将脚本Bash转换为tcl脚本,bash,unix,tcl,Bash,Unix,Tcl,我有一个主tcl脚本,它调用多个bash脚本。但我想把一切都放在一个地方。有没有一种方法可以直接在tcl脚本中实现我的bash脚本(作为procs?),并以某种方式将它们标记为bash脚本?当然,你不能把它们放在进程中,而对它们什么也不做改变 另一件必须注意的事情是:一些bash脚本需要被视为su,如何实现呢 我不是在找这样的东西: -我只希望我的bash脚本作为“独立”过程。将bash脚本放入正确引用的字符串中,然后将其传递给bash: proc do_bash_script {} {

我有一个主tcl脚本,它调用多个bash脚本。但我想把一切都放在一个地方。有没有一种方法可以直接在tcl脚本中实现我的bash脚本(作为procs?),并以某种方式将它们标记为bash脚本?当然,你不能把它们放在进程中,而对它们什么也不做改变

另一件必须注意的事情是:一些bash脚本需要被视为su,如何实现呢

我不是在找这样的东西:
-我只希望我的bash脚本作为“独立”过程。

将bash脚本放入正确引用的字符串中,然后将其传递给bash:

proc do_bash_script {} {
    set bash_script {
        echo $HOME
        getent passwd $USER
    }
    exec bash << $bash_script
}
do_bash_script
/home/jackman
jackman:x:1001:1001:Glenn Jackman:/home/jackman:/usr/local/bin/fish