나는 어떤 애플리케이션이라도 열 수 있는 자바 프로그램을 만들었습니다. 파일 이름이 "*.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