내가 달리고 있다고 가정 해 봅시다 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/share
applications
Exec
입구;자리 표시자는 %F
여러 파일의 이름 지정 위치를 지정합니다(응용 프로그램이 지원하는 경우).