我正在尝试实现一个 zenity radiolist,它显示从 find 命令返回的所有目录。我正在使用具有 79 个目录的路径来测试我的命令。当我输入命令时:
dir="/media/multiMediaA_intHdA720Gb/music/rockNextGen/lighter" ; artDir=$(find "$dir" -maxdepth 1 -type d | sort | wc -l) ; echo "$artDir"
我得到了 79 的预期输出(找到了目录)。但是,当我通过 zenity 管道时,例如:
dir="/media/multiMediaA_intHdA720Gb/music/rockNextGen/lighter" ; artDir=$(find "$dir" -maxdepth 1 -type d | sort | zenity --list --title "All albums : selected band" --text "Enter the band you want to listen to:" --column "Select" --column "Artist" --radiolist --height 900 --width 200) ; echo "$artDir"
正如预期的那样,我得到了一个 zenity radiolist 窗口,但仅列出了 79 个(〜一半)目录中的 39 个。
我搜索了可能的 zenity 列表大小限制,但想出了 nadda。有谁知道zenity是否确实存在这样的限制,或者我可能做错了什么,或者zenity调用中省略了一个选项?
更多细节
有趣的是,如果我通过 yad 而不是 zenity 管道返回的结果是 40 而不是 39,所以仍然只有〜一半的目录。如果我选择包含 90 个目录的不同路径,则 zenity 仅列出其中的 44 个,而 yad 列出 45 个。