4

我对 zenity 和 bash 很陌生。我正在尝试制作文件选择窗口,该窗口将仅显示带有 .ogg、.aac 和 .wav 扩展名的文件。我试过这个,但它不起作用。

option=`zenity --file-selection --file-filter=*.ogg | *.aac`

对于一个扩展,它按预期工作:

option=`zenity --file-selection --file-filter=*.ogg`

Zenity man 提供信息:

--file-filter=NAME | PATTERN1 PATTERN2
Sets a filename filter

我真的不明白我应该如何使用它。有人可以给我看一些例子吗?

4

2 回答 2

6

特殊的 bash 符号 | 和 * 需要转义(反斜杠)或引用(单引号或双引号),您已经成功了。使用单引号,参数按字面意思传递给 zenity。

如果您想要更多过滤器选择,请重复 --file-filter 选项例如,您可能需要在文件选择窗口中使用两个过滤器“所有文件”和“音乐文件”:

zenity --file-selection --file-filter='Music files (ogg,wav,aac) | *.ogg *.wav *.aac' --file-filter='All files | *'
于 2014-02-09T18:41:54.887 回答
5

好的,我找到了解决方案,也许将来有人会使用它:

zenity --file-selection --file-filter=""*.ogg" "*.wav" "*.aac""
于 2013-04-28T20:55:13.100 回答