Скрипт для поиска исполняемого файла на основе расширения файла?

Мне нужно создать скрипт, который возвращает приложение по умолчанию, которое будет использоваться для данного расширения файла (включая путь). Я взглянул на команду file, которая может возвращать тип mime, и xdg-open, которая открывала файл. Но я бы хотел получить

myscript doc

/ usr / bin / libreoffice

.or.

myscript fun

/ opt / acme / roadrunner / meepmeep

Как мне это сделать?

4
задан 4 July 2012 в 08:41

2 ответа

Я схватил эксперта по Linux в офисе, и мы нашли разумное решение:

#!/bin/bash
EXTENSION=$1
SAMPLENAME=$HOME/~webdavhelpersample.$EXTENSION
touch $SAMPLENAME
CURMINE=$(xdg-mime query filetype $SAMPLENAME)
rm $SAMPLENAME
CURDSK=$(xdg-mime query default $CURMINE)

if [ -f /.local/share/applications/$CURDSK ]; then
    TRUEDSK=/.local/share/applications/$CURDSK
elif [ -f /usr/local/share/applications/$CURDSK ]; then
    TRUEDSK=/usr/local/share/applications/$CURDSK
elif [ -f  /usr/share/applications/$CURDSK ]; then
    TRUEDSK=/usr/share/applications/$CURDSK
else 
    echo "Sorry no executable found for $1"
    exit 1
fi

WHATTODO=$(grep "^Exec" $TRUEDSK | head -1)
echo $WHATTODO

Как только мы поняли, что есть только 3 места для файлов рабочего стола, это было не сложно больше.

0
ответ дан 4 July 2012 в 08:41

Команда может быть что-то вроде:

xdg-mime query default `xdg-mime query filetype example.odp` 

Результат:

libreoffice-impress.desktop
0
ответ дан 4 July 2012 в 08:41

Другие вопросы по тегам:

Похожие вопросы: