当运行我的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中的命令。
答案 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
}