从Tcl执行shell脚本



我正在尝试从TCL运行shell脚本。我有一点麻烦,虽然它不工作或给我一个错误的故障排除。我很确定我的问题是来自没有"运行"格式正确。如有任何帮助,不胜感激。

set run "sshpass -p 'password' ssh user@ip 'bash -s' <"
set sh "test.sh"
set cmd [list $run $sh $arg1 $arg2]
if {[catch {eval [linsert $cmd 0 "exec"]} status]} {
  foreach line [split $status "n"] {
    if {[string match *text* $line]} {
       //do something
    }
  }
}

最终删除run变量并直接添加它。

set sh "test.sh"
set cmd [list sshpass -p 'password' ssh user@ip 'bash -s' < $sh $arg1 $arg2]
if {[catch {eval [linsert $cmd 0 "exec"]} status]} {
  foreach line [split $status "n"] {
    if {[string match *text* $line]} {
       //do something
    }
  }
}

最新更新