Script per trovare eseguibile in base all'estensione di un file?

4

Devo creare uno script che restituisca l'app predefinita da utilizzare per una determinata estensione di file (incluso il percorso). Ho dato un'occhiata al comando file che può restituire il tipo mime e xdg-open che aprirebbe un file. Ma quello che mi piacerebbe avere è

myscript doc
  
    

/ usr / bin / LibreOffice

  

.o.

myscript fun
  
    

/ opt / Acme / Roadrunner / meepmeep

  

Come faccio?

    
posta stwissel 04.07.2012 - 06:41

2 risposte

1

Ho preso un esperto di Linux in ufficio e abbiamo trovato una soluzione ragionevole:

#!/bin/bash
EXTENSION=
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 "
    exit 1
fi

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

Una volta abbiamo capito che ci sono solo 3 posizioni per i file desktop non è stato più difficile.

    
risposta data stwissel 05.07.2012 - 11:49
0

Il comando può essere qualcosa come:

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

Risultato:

libreoffice-impress.desktop
    
risposta data Samik 04.07.2012 - 10:45

Leggi altre domande sui tag