好的,所以运行gedit myfile.txt
良好。但是,如何使用链接到文件类型的默认桌面应用程序从bash脚本中打开文件呢?
我在下面尝试过,在终端中手动运行时效果很好,但是当我将其放在bash文件中时,什么也没发生:
#!/bin/bash
xdg-open "myfile.txt"&
我该怎么办呢?
请注意,在终端关闭后,我还需要文件保持打开状态。
我认为您的脚本应该可以工作。但是您可以在其中添加一些内容以获得更多信息:
#!/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)。
因此,您可能想要在脚本中添加类似的内容,并查看是否得到了意外的输出(然后可以将其添加到问题中...)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句