2015-01-22 4 views
0

У меня есть сценарий t12 tcl, который вызывает несколько сценариев bash. Но я хочу иметь все в одном месте. Есть ли способ напрямую реализовать мои скрипты bash внутри скрипта tcl (как procs?) И как-то пометить их как скрипты bash? Вы, очевидно, не можете просто помещать их в procs и ничего не менять о них.«Plant» Bash Scripts в tcl Script

Другая вещь, о которой нужно позаботиться: некоторые сценарии bash должны быть подключены как su, как это можно реализовать?

Я не ищу что-то вроде этого: How to call bash commands from tcl script? - Я просто хочу, чтобы мои скрипты bash были «изолированными» процедурами.

ответ

2

Поместите Баш скрипт в правильно строку в кавычках, а затем передать, что Баш:

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