xdg-open을 사용하여 여러 파일을 여는 방법

xdg-open을 사용하여 여러 파일을 여는 방법

내가 달리고 있다고 가정 해 봅시다 xdg-open file.flac. 그것은 동일할 것입니다 mpv file.flac. 그러나 실행하면 xdg-open *.flac다른 파일이 "예기치 않은 인수"라고 생각하기 때문에 오류가 발생합니다. 내가 원하는 것은 실행입니다 mpv *.flac. 단일 파일 mpv과 모든 파일이 일치 *.flac하여 재생 목록에 포함됩니다.

편집: 해결 방법을 찾았습니다.

printf "$sel" | sed -e "s/'/'\\\\''/g;s/\(.*\)/'\1'/" | xargs `printf "gtk-launch $(xdg-mime query default $(grep ${sel##*.}= /usr/share/applications/mimeinfo.cache | cut -d '/' -f 1)/${sel##*.})"`

$sel내가 열려고 하는 파일입니다.

답변1

xdg-open여러 인수는 처리되지 않으므로 최선의 방법은 파일을 반복하는 것입니다.

for file in ./*.flac; do xdg-open "$file"; done

xdg-open달리는 것이 불가능했습니다 mpv *.flac.

수동으로 사용할 명령을 공식화해 볼 수 있습니다.

$ xdg-mime query filetype *.flac
audio/flac
$ xdg-mime query default audio/flac

mpv경로는 없지만 데스크탑 파일을 가리켜야 합니다 . 그것이 어디에 있는지 알아내고( 정의되지 않은 경우 $XDG_DATA_DIRS사용 하거나 하위 디렉토리에서 확인) 추출합니다./usr/local/share:/usr/shareapplicationsExec입구;자리 표시자는 %F여러 파일의 이름 지정 위치를 지정합니다(응용 프로그램이 지원하는 경우).

관련 정보