1 votos

Secuencias de comandos de estado en Automator?

Es allí una manera de ejecutar el estado de scripts de bash en automator?

Estoy tratando de ejecutar algo en función de si un archivo no o no existe. Con un script de bash solo en la terminal el siguiente código funciona y que va a mostrar el resultado correcto, dependiendo de si el archivo existe o no.

Sólo una línea de salida por la ejecución de la secuencia de comandos se muestra de cualquier manera.

FILE="/Volumes/Canvio1TB/EyeTV Archive/sync.ffs_lock"
if test -f "$FILE"; then
    echo "$FILE exists"
else
  echo "$FILE does not exist"
fi

Cuando ejecuto esto en automator como "ejecutar script de shell" acción el resultado es:

/Volumes/Canvio1TB/EyeTV Archive/sync.ffs_lock exists

/Volumes/Canvio1TB/EyeTV Archive/sync.ffs_lock does not exist

Independientemente de si el archivo existe o no, el script genera tanto en las líneas de salida.

 

Si hay un mejor enfoque estaría abierto para el uso de ella no he tenido éxito con la sintaxis de applescript la ejecución de un comando basado en la (no)existencia de una ruta de acceso completa & archivo.

2voto

user3439894 Puntos 5883

El siguiente ejemplo funciona para mí en una acción Ejecutar shell script en Automator :

 f="/Volumes/Canvio1TB/EyeTV Archive/sync.ffs_lock"

if [ -f "$f" ]; then
    echo "$f exists."
else
    echo "$f does not exist."
fi
 

Nota: Shell se establece en: /bin/bash

Esto también funciona:

 f="/Volumes/Canvio1TB/EyeTV Archive/sync.ffs_lock"

[ -f "$f" ] && echo "$f exists." || echo "$f does not exist."
 

Aquí está en AppleScript en una acción Ejecutar AppleScript :

 set f to "/Volumes/Canvio1TB/EyeTV Archive/sync.ffs_lock"

tell application "System Events"
    if exists file f then
        return f & " file exists." as string
    else
        return f & " file does not exist." as string
    end if
end tell
 

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X