簡體   English   中英

如何寫到生成的終端?

[英]how do I write to a spawned terminal?

對於這個小腳本:

package require Tcl 8.4
package require Expect 5.40

spawn gnome-terminal

while {1} {
    puts -nonewline "Enter your name: "
    flush stdout
    set name [gets stdin]    
    puts "Hello $name"
}

如何寫到生成的gnome-terminal以便將用戶輸入回顯到兩個終端?

您可以 gnome終端中運行Expect,而不要反過來運行。 Expect確實是一個命令行程序,而gnome-terminal確實不是(它是圖形終端仿真器)。 特別是,gnome-terminal完全忽略了其stdin和stdout。 它有效地創建了供其他程序使用的程序。 同時,Expect通過與其他程序的stdin和stdout對話(帶有額外的虛擬終端的欺騙手段)來控制其他程序; 這意味着它用於子進程的接口基本上是gnome-terminal從外部忽略的。

雖然在這種情況下,為什么不使用Tk彈出GUI詢問密碼呢? 您可以直接提出問題,而無需設置代理來提出問題。 如果您願意,這可以使界面更加豐富……

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM