Me gustaría copiar automáticamente el contenido de un archivo file.a
para file.a.b
cada vez que file.a
se guarda por cualquier programa. Lo siguiente es lo que intenté hasta ahora con un LaunchAgent, pero aún no funciona.
1. Crear script para copiar el contenido del archivo
#!/bin/bash
say "Script is running"
cd /path/to/folder
cat file.a > file.a.b
hazlo activo con chmod -x copy.sh
. Este script funciona cuando lo ejecuto manualmente a través de sh script.sh
o con una tecla de acceso rápido global de Alfred.
2. Crear un LaunchAgent
Lo construyo con Lingo pero lo guardé manualmente ya que Lingo no guardará el archivo ...
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Disabled</key>
<false/>
<key>Label</key>
<string>de.tweh.SaveCSStoCSSPHP</string>
<key>ProgramArguments</key>
<array>
<string>/path/to/script/copy.sh</string>
</array>
<key>WatchPaths</key>
<array>
<string>/path/to/folder/file.a</string>
</array>
</dict>
</plist>
3. Guardar LaunchAgent Guardé
el agente como~/Library/LaunchAgents/de.tweh.DoCopy
4. Reiniciar
Reinicie mi Mac para activar el LaunchAgent.
¿Qué estoy haciendo worg?
Editar
La consola muestra este mensaje de error (¿inútil?):
16.06.13 00:44:04,005 com.apple.launchd.peruser.502[153]:
(de.tweh.DoCopy[326]) Job failed to exec(3) for weird reason: 13
Respuestas:
Encontré el error: lo usé en
chmod -x
lugar dechmod +x
. Ahora funciona bien :-)fuente