如何使用 bash 在 gtkdialog 中打开文件

How do you open a file in gtkdialog using bash

我正在尝试通过按 gtkdialog 表单中的按钮打开配置文件以使用 geany 进行编辑。我是 bash 和 gtkdialog 的新手,但希望能朝着正确的方向前进。

#! /bin/bash

processconfig () {

    geany config

}
export script='
<vbox>
<hbox>
<button>
  <input file>settings_VV_small.png</input>
  <variable>button1</variable>
</button>                    
</hbox>
</vbox>    
'

I=$IFS;
IFS='
'
for STATEMENTS in  $(gtkdialog --program=script); do
      eval $STATEMENTS
done 

if [[ $BUTTON1 == "true" ]]

    then
        echo "Opening Config File"
        processconfig 
    fi


IFS=$I

[ $EXIT = sure ]

我不知道你的 Linux 发行版是什么,但是 Debian 中的 gtkdialog 不再可用并且已于 2009 年从 Debian 中删除,原因是 "unmaintained, better alternatives libraries".

谈论 "better alternatives" 现在我们有 yad (apt-get install yad) ,它是 zenity 的一个分支,但更先进。

因此,您的整个脚本可以替换为两行:

$ filetoopen=$(yad --file)
$ geany ""$filetoopen"

研究 yad 手册页,您会发现数百万个选项来调整此 gtk 工具并自定义您的对话框。

您可以在这里了解 yad 对话框:http://smokey01.com/yad/

解决了。

if [ "$EXIT" = "OK" ]; then
 echo "Opening Config File"
        processconfig 
else
 echo "You pressed the Cancel button." 
fi