Já existe um comando externo para isso. Não há nada de novo que precise ser escrito. O comando é xdg-open
. Ele abrirá um arquivo com base em sua associação de tipo MIME. Aqui está um exemplo:
xdg-open file.png
Eu fiz um programa em Java que poderia abrir qualquer aplicativo. Suponha que haja um nome de arquivo "* .jpg", o que permitiria que o sistema operacional reconhecesse o tipo de aplicativo e, em seguida, abrisse o aplicativo padrão. Outro exemplo: suponha que o nome do arquivo seja "* .flv", então ele abriria o media player padrão como quando você clica em um ícone no nautilus, mas a única diferença é que ele estava na linha de comando. Aqui está o programa java para isso:
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.");
}
}
}
Agora, esse script leva a problemas de desempenho. Agora eu quero escrever um script BASH para fazer essa tarefa ??