向某些用户发送警告消息,在tcl脚本中打开终端

时间:2016-08-22 09:15:09

标签: linux terminal tcl

当运行我的tcl脚本的一部分时,我想警告某些用户打开终端发生了什么。同时让他们知道消息发送到哪个终端。到目前为止,我有:

set who [exec who]
set user [lindex $who 0]
set who [split $who "\n"]

for { set i 0 } { $i < [llength $who] } { incr i } {
    set current [lindex $who $i]
    exec write $user [lindex $current 1]
    # I would now like to send a message to this user
}

除非我点击&#34;写&#34;部分代码卡住了。因为它无法退出。如何将shell变量的tcl传递给所需用户的终端?然后退出写部分?

看起来我不能使用&#34;墙&#34; linux中的命令。

1 个答案:

答案 0 :(得分:1)

您还需要提供要发送的实际消息。假设您向每个消息发送相同的消息,只需将消息放在脚本顶部的变量中,并使用带有exec的heredoc将其作为write的标准输入提供。

set who [exec who]
set user [lindex $who 0]
set who [split $who "\n"]
set message "The quick brown fox is jumping over the lazy dog.\n"

for { set i 0 } { $i < [llength $who] } { incr i } {
    set current [lindex $who $i]
    exec write $user [lindex $current 1] << $message
}