从bash访问tk窗口

时间:2017-08-08 11:17:26

标签: bash tcl tk

可以调用TCL / TK解释器wish来执行交互式运行的文件(wish filename)的内容(wish)。

我想使用wish构建一个窗口,在它之外做一些事情,然后添加/修改窗口小部件。类似的东西:

windowId=$(wish <<< "commands to build up a window")
# do shell stuff
wish --continue-editing $windowId <<< "further commands"

希望看起来没有任何--continue-editing选项。如何实现这一功能?

基本上,我想在Bash中使用Tk。要在bash和中编写脚本,gui调用应该是TCL代码。我有什么选择?一步一步建立一个gui肯定是可能的,因为这就是交互式愿望提示所做的事情。我如何以编程方式访问提示?我不知道从哪里开始。

修改。示例源代码:

##### main.sh
#!/usr/bin/bash
echo "hi, I am a bash script"
echo "I do loads of stuff,  all in bash"
echo "This script needs a button:"
# wish gui
wish <<<EOL
    proc bash_action{} {
        exec bash_action.sh
    }
    button .b -text "Action" -command bash_action
    place .b -x 0 -y 0 -width 60 -height 20
    wm geometry . 60x20
EOL

##### bash_action.sh:
#!/usr/bin/bash
echo "Tk button called me"
echo "do important bash stuff..."
???? access wish gui ??? modify elements, window.. ??

我想过使用mkfifo进行交互式提示,但这感觉就像是最糟糕的解决方法。

编辑:did it with a pipe

0 个答案:

没有答案