通过tcl脚本从bash脚本执行一组命令

时间:2016-04-12 06:31:01

标签: bash shell tcl

我试图通过我的tcl脚本执行bash脚本中指定的一组命令。我对tcl很新,所以我找不到这样的方法,我也咨询了很多堆栈溢出链接,所以我现在知道如何从tcl脚本执行一个命令。

现在我用它来执行一个命令 -

exec /usr/bin/sshpass ssh -o StrictHostKeyChecking=no $command

但是如何确保脚本从bash脚本一次读取一个命令并为每个命令执行上述命令?

1 个答案:

答案 0 :(得分:2)

sharad@ss:~$ cat commands.txt 
date
uname -m
sharad@ss:~$ 

sharad@ss:~$ cat my.tcl
set fileHandle [open commands.txt]
set commands [read $fileHandle]
close $fileHandle

foreach command [split $commands "\n"] {
    set command [string trim $command]
    if {$command == ""} {
        continue
    }
    puts "command=$command,result=[exec ssh sharad@localhost bash -c  $command]"
}
sharad@ss:~$ 


sharad@ss:~$ tclsh my.tcl
command=date,result=Tue Apr 12 02:47:28 EDT 2016
command=uname -m,result=Linux
sharad@ss:~$