Ich habe eine seltsame Situation hier. Ich muss exec auf ein Skript ausführen, getValue.itcl, aber ich bekomme keine Ausgabe, wenn ich versuche, es inline mit der Eingabeumleitung auszuführen. Tut mir leid, wenn ich die falschen Begriffe benutze.Keine Ausgabe von exec bei Verwendung von tclsh in Shell-Skript
Verwenden Sie es inline hilft mit anderen Aspekten dieses Skriptes, sonst würde ich Stücke trennen müssen. Und ich verwende tcl 8.0 (keine Option dafür). Beispiel: Das funktioniert, wenn ich ein Shell-Skript verwende, das als tclsh neu startet.
#!/bin/sh
#
# \
cd 'dirname $0'
# Next line restarts as tclsh \
exec tclsh 'basename $0' $*
proc Main { } {
set val [exec getValue.itcl PARAMETER]
puts "$val"
}
Main
exit
Aber wenn ich das in einem Skript anders ausführe, wird es nicht funktionieren.
Dies funktioniert nicht:
#!/bin/sh
#
tclsh << EOSCRIPT
set val [exec getValue.itcl PARAMETER]
puts "$val"
EOSCRIPT
exit 0
ich keine Ausgabe erhalten werden, ich sehe nicht, was der Unterschied ist tclsh in dem ersten Verfahren zwischen der Verwendung in Bezug auf den zweiten Gegensatz, wenn es einfach darum geht, die Ausführung Ein Kommando.
Dank