gpt4 book ai didi

linux - 使用 TCL 驱动 linux shell

转载 作者:太空狗 更新时间:2023-10-29 11:27:56 29 4
gpt4 key购买 nike

我是 TCL 语言的新手,我想使用我编写的脚本来自动执行一些我通常会在 Linux 终端界面(或其他一些 shell)中执行的简单任务。我现在的目标是能够简单地启动一个终端(我使用的是 ubuntu,所以 gnome-terminal 命令),然后能够将命令发送到该终端实例。

我最初的想法是我可以简单地做这样的事情:

set  myTerminal [open |gnome-terminal r+]
puts $myTerminal "a command"
flush $myTerminal

这会将字符刷新到终端。但是没有任何反应,我不确定如何进行。非常感谢您的帮助!

编辑:我特别想使用终端来运行具有命令行界面的程序。我的想法是我可以使用 tcl 启动终端,然后给终端命令来运行该程序,最后使用终端作为 tcl 脚本和命令行程序之间的中介。据推测,我正在使用 tcl 驱动终端,而终端又驱动命令行程序。

最佳答案

你应该使用 expect .这是标准。它隐藏了您手动执行时会遇到的大多数 shell 怪癖。

它是用 TCL 编写的,完全可以满足您的需求。

Expect is a Unix automation and testing tool, written by Don Libes as an extension to the Tcl scripting language, for interactive applications such as telnet, ftp, passwd, fsck, rlogin, tip, ssh, and others. It uses Unix pseudo terminals to wrap up subprocesses transparently, allowing the automation of arbitrary applications that are accessed over a terminal.

关于linux - 使用 TCL 驱动 linux shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8058868/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com