Cómo pasar la ruta del archivo seleccionado desde el Finder al script de Automator Shell

5

Estoy creando Automator Service para descomprimir los archivos seleccionados en la misma carpeta en la que están ubicados.

¿Cómo puedo obtener la ruta absoluta del archivo seleccionado en Automator, para poder pasarlo a mi shell script?

Como puede ver, solo estoy pasando el nombre de archivo por ahora, pero no se está descomprimiendo en la misma carpeta.

Me gustaría cambiar la carpeta antes de unzip , y luego ejecutar unzip . Intenté cd ~ pero se descomprime en mi carpeta de inicio. Me gustaría unzip en la misma carpeta en la que existen los archivos seleccionados.

    
pregunta To Kra 02.07.2017 - 11:38

1 respuesta

3

Agregue cd "$(dirname "$f")" antes de la línea unzip .

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

o sin cambiar al directorio, use la opción -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
    
respondido por el fd0 02.07.2017 - 12:46

Lea otras preguntas en las etiquetas