Come passare il percorso del file selezionato dal Finder allo script di Automator Shell

5

Sto creando il servizio Automator per decomprimere i file selezionati nella stessa cartella in cui si trovano.

Come posso ottenere il percorso assoluto del file selezionato in Automator, quindi posso passarlo nel mio script di shell?

Come puoi vedere, sto solo passando il nome file per ora, ma non è decompresso nella stessa cartella.

Vorrei cambiare cartella prima di unzip , quindi eseguire unzip . Ho provato cd ~ ma decomprime la mia cartella personale. Vorrei unzip nella stessa cartella in cui sono presenti i file selezionati.

    
posta To Kra 02.07.2017 - 11:38
fonte

1 risposta

3

Aggiungi cd "$(dirname "$f")" prima della riga unzip .

for f in "$@"; do
    cd "$(dirname "$f")"
    unzip -o "$f"
done 

o senza passare alla directory, utilizzare l'opzione -d

[-d exdir]
          An  optional  directory  to which to extract files.  By default, all files and subdirectories
          are recreated in the current directory; the -d  option  allows  extraction  in  an  arbitrary
          directory.....



for f in "$@"; do
    unzip "$f" -d "$(dirname "$f")"
done
    
risposta data 02.07.2017 - 12:46
fonte

Leggi altre domande sui tag