BASH를 사용하여 모든 유형의 애플리케이션 열기

BASH를 사용하여 모든 유형의 애플리케이션 열기

나는 어떤 애플리케이션이라도 열 수 있는 자바 프로그램을 만들었습니다. 파일 이름이 "*.jpg"라고 가정하면 운영 체제에서 응용 프로그램 유형을 식별한 다음 기본 응용 프로그램을 열 수 있습니다. 또 다른 예: 파일 이름이 "*.flv"라고 가정하면 노틸러스에서 아이콘을 클릭한 것처럼 기본 미디어 플레이어가 열리지만 유일한 차이점은 명령줄에 있다는 점입니다. 이것은 자바 프로그램입니다:

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

관련 정보