使用 BASH 打开任何类型的应用程序

使用 BASH 打开任何类型的应用程序

我制作了一个可以打开任何应用程序的Java程序。假设有一个文件名“*.jpg”,它会让操作系统识别应用程序的类型,然后打开默认的应用程序。另一个例子:假设文件的名称是“*.flv”,那么它会打开默认的媒体播放器,就像您单击 nautilus 中的图标一样,但唯一的区别是它是在命令行中。这是一个 Java 程序:

import java.awt.*;
import java.io.*;
public class OpenFile{
    public static void main(String args[]){
      try{
          String filename = args[0];
          System.out.println(args[0]);
          Desktop.getDesktop().open(new File(filename));
      }
      catch(Exception e){
          System.out.println("Sorry an exception occured. Could not perform the operation.");
      }
    }
 }

现在这个脚本会导致性能问题。现在我想写一个 BASH 脚本来完成这个任务?

答案1

已经有一个外部命令可以实现这一点。无需编写任何新内容。命令是xdg-open。它将根据文件的 MIME 类型关联打开文件。以下是示例:

xdg-open file.png

相关内容