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複数のファイルの命名場所を指定します (アプリケーションがサポートしている場合)。

おすすめ記事