我认为您的脚本应该有效。但是您可以在其中添加一些内容以获得更多信息:
#!/bin/bash
T=`xdg-mime query filetype $1`
echo "opening file " $1 " of type " $T "with " `xdg-mime query default $T`
xdg-open $1
echo "finished script"
在这样的终端中运行此脚本(名为my_open.sh)时:
my_open.sh path/to/somefile.txt
我得到以下输出:
opening file path/to/somefile.txt of type text/plain with gedit.desktop
finished script
这告诉我文件的路径正确,可以识别mimetype,并且用于打开文件的desktopfile也正确。然后gedit会打开相关文件。
现在,当在另一个文件上运行时:
my_open.sh path/to/README
我得到以下输出:
opening file path/to/README of type text/x-readme with
finished script
请注意不同的mimetype和丢失的桌面文件。但是,xdg-open将打开所有文本文件的默认设置(gedit)。
因此,您可能想要在脚本中添加类似的内容,并查看是否获得了意外的输出(然后可以将其添加到问题中...)。