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

Я установил его O.o. Удаление монодокса - все и повторная установка этого + monodevelop. Даже триггерное меню после установки ведет себя. Похоже, я собираюсь начать ненавидеть моно.

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

12 ответов

Я схватил эксперта по 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 местоположения больше не сложно.

1
ответ дан 25 July 2018 в 18:12

Я схватил эксперта по 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 местоположения больше не сложно.

1
ответ дан 31 July 2018 в 13:06

Я схватил эксперта по 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 местоположения больше не сложно.

1
ответ дан 2 August 2018 в 00:26

Я схватил эксперта по 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 местоположения больше не сложно.

1
ответ дан 4 August 2018 в 15:54

Я схватил эксперта по 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 местоположения больше не сложно.

1
ответ дан 6 August 2018 в 00:33

Команда может быть примерно такой:

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

Результат:

libreoffice-impress.desktop
0
ответ дан 25 May 2018 в 09:02
  • 1
    Привет, Самик, спасибо за ответ. Я попробовал команду на Ubuntu 12.04 и столкнулся с двумя проблемами: a) если example.odp не существует, он просто выдает ошибку, а во-вторых (большая проблема), я только что получил application / vnd.oasis.opendocument.presentation взамен. Кроме того, рабочий стол не выполняется, мне нужно что-то, что я могу вызвать с набором параметров после этого – stwissel 5 July 2012 в 05:44
  • 2
    Быстрое обновление: я могу получить файл рабочего стола с помощью xdg-mime querytytyty example.odp || xdg-mime query default , но все же проблема заключается в том, как добраться до исполняемого файла, включая путь – stwissel 5 July 2012 в 05:49

Команда может выглядеть примерно так:

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

Результат:

libreoffice-impress.desktop
0
ответ дан 25 July 2018 в 18:12

Команда может выглядеть примерно так:

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

Результат:

libreoffice-impress.desktop
0
ответ дан 31 July 2018 в 13:06

Команда может выглядеть примерно так:

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

Результат:

libreoffice-impress.desktop
0
ответ дан 4 August 2018 в 15:54

Команда может выглядеть примерно так:

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

Результат:

libreoffice-impress.desktop
0
ответ дан 7 August 2018 в 17:58

Команда может выглядеть примерно так:

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

Результат:

libreoffice-impress.desktop
0
ответ дан 10 August 2018 в 06:47

Команда может выглядеть примерно так:

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

Результат:

libreoffice-impress.desktop
0
ответ дан 15 August 2018 в 18:42
  • 1
    – stwissel 5 July 2012 в 05:44
  • 2
    Быстрое обновление: я могу получить доступ к файлу рабочего стола, используя запрос типа xdg-mime filetype example.odp || запрос xdg-mime по умолчанию , но все же проблема в том, как добраться до исполняемого файла, включая путь – stwissel 5 July 2012 в 05:49

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

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