我正在尝试从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
}
}
}