我试图通过我的tcl脚本执行bash脚本中指定的一组命令。我对tcl很新,所以我找不到这样的方法,我也咨询了很多堆栈溢出链接,所以我现在知道如何从tcl脚本执行一个命令。
现在我用它来执行一个命令 -
exec /usr/bin/sshpass ssh -o StrictHostKeyChecking=no $command
但是如何确保脚本从bash脚本一次读取一个命令并为每个命令执行上述命令?
答案 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:~$