可以调用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
进行交互式提示,但这感觉就像是最糟糕的解决方法。