现在我正在通过 open 调用外部 bash 脚本,因为该脚本可能会运行几秒钟,也可能会运行几分钟。唯一可以确定的是:
读取并使用 shell 脚本输出的文本确实有效。但我不知道如何读取返回码。
(简化的)TCL 脚本如下所示:
#!/usr/bin/tclsh
proc run_script {} {
set script "./testing.sh"
set process [open "|${script}" "r"]
chan configure $process -blocking 0 -translation {"lf" "lf"} -encoding "iso8859-1"
while {[eof $process] == 0} {
if {[gets $process zeile] != -1} {
puts $zeile
}
update
}
close $process
return "???"
}
set rc [run_script]
puts "RC = ${rc}"
Run Code Online (Sandbox Code Playgroud)
(简化的)shell 脚本看起来像这样:
#!/bin/bash
echo Here
sleep 1
echo be
sleep 2
echo dragons
sleep 4 …Run Code Online (Sandbox Code Playgroud) tcl ×1