$$
не является допустимым синтаксисом Tcl, и Tcl проанализирует эту строку до того, как оболочка увидит ее.Но есть команда Tcl для получения pid: pid
.Я обычно полагаюсь на текущее время и pid для уникальности.
Я предполагаю, msgBody
- переменная Tcl, а -
и --
в ваших командах должны быть >
и >>
соответственно.
опция 1
set filename /tmp/Alert_Notify_Work.[clock seconds].[pid]
exec echo $msgBody > $filename
exec cat /home/hci/Alert.txt >> $filename
или Tcl только с несколькими строками:
set f_out [open /tmp/Alert_Notify_Work.[clock seconds].[pid] w]
puts $f_out $msgBody
set f_in [open /home/hci/Alert.txt r]
fcopy $f_in $f_out
close $f_in
close $f_out