我有一个主tcl 脚本,它调用多个bash脚本。但我想把所有东西放在一个地方。有没有办法在tcl脚本中直接实现我的bash脚本(作为procs?)并以某种方式将它们标记为bash脚本?你显然不能把它们放在触发器内,当然也不会改变它们。
还有一件事需要注意:一些bash脚本需要作为su加入,怎么可以实现?
我不是在寻找这样的事情: How to call bash commands from tcl script? - 我只想将我的bash脚本作为"隔离"程序
答案 0 :(得分:2)
将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