2 votos

Necesita un poco de ayuda de correr un par de líneas de bash en applescript. Tal vez directamente bash es el mejor?

Prefacio esta diciendo que será el lanzamiento de este script ya sea applescript o script en bash con Alfred.app.

Siento ser tan directo y unknowledgable pero necesito ejecutar un par de líneas de bash en un applescript. Creo que un simple script de bash que es capaz, pero no lo sé seguro. Aquí están los detalles (tenga en cuenta que los comandos probablemente debería ser diferente, así que si usted tiene sugerencias, por favor siéntase libre del estado de ellos, ya que son probablemente correctas):

Quiero que la secuencia de comandos

  1. rm ~/Library/Vidalia/vidalia.conf'
  2. unzip ~/Library/Vidalia/vidalia.conf.zip'
  3. lanzamiento de Vidalia.aplicación

El paso siguiente no creo que es posible, ya que el Vidalia.la aplicación no es codificable y no quiero que el applescript/bash script que se ejecuta hasta que Vidalia se cierra... pero si es posible implementar sin la secuencia de comandos que necesitan para permanecer abierto:

4) En salir de Vidalia.aplicación rm ~/Library/Vidalia/vidalia.conf

Es esto posible. Puedo usar bash o applescript lo que es más fácil para usted del chico y las chicas que me ayude con el. Si pudiera conseguir los tres primeros pasos para ejecutar estaría muy contentas! Gracias por su tiempo y disculpen mi falta de conocimiento. Cualquier consejos o sugerencias son bienvenidos.

Diablos, ni siquiera sé si esos son los "adecuados" comandos del shell de usar, ellos hicieron el trabajo, pero si son "sonido" no sé.

Gracias por su tiempo y paciencia.

ACTUALIZACIÓN - Pregunta: ¿Cómo pasar descomprimido el archivo en otro directorio?

Bueno tengo una última pregunta. ¿Cómo puedo hacer este mismo tipo de acción, pero quería mantener vidalia.conf.zip en otro directorio?

Decir, por ejemplo, un volumen externo nombrado tor - me movía en el volumen montado nombre tor con pushd, pero cuando voy a extraer el archivo con lo que creo que debería de trabajo -d me sale el error que me cannot create extraction directory

Lo cual es bueno porque no quiero reemplazar el directorio, basta con mover lo que se consigue el descomprimido en el directorio. Sí, probablemente voy a tener que quitar el archivo ya no dependiendo de lo que yo estoy haciendo, así que lo que tengo se parece a esto...

pushd ~/Library/Vidalia/
rm vidalia.conf
popd
pushd /Volumes/tor
unzip vidalia.conf.zip -d ~/Library/Vidalia/
popd

Yo no he probado esta demasiado una vez me encontré con el error con el viejo y simple -d. Como yo estaba escribiendo esto me di cuenta de que tenía que estar navegando por los directorios más con pushd y, a continuación, con popd. Originalmente sólo tenía las líneas 4 y 5, pero añade el top 3 para quitar el .conf que actualmente es lo que hay ... si ... es lo que hay...

Que me lleven a una pregunta más... ¿Es inocua para decirle a bash para eliminar un archivo que no existe? Yo tendría ni idea de por dónde empezar, incluso con if then declaraciones.

Por último, ¿alguien puede recomendar un buen principiantes introducción a Bash libro? Me encantaría, de hecho, aprender de este material en lugar de sólo tener a google y luego dar la vuelta y corrección de todos. Gracias de nuevo por tu ayuda. Que resolvió mi problema anterior perfectamente, incluso he aprendido mucho de la simple ejemplo (creo.)

Saludos!

3voto

GaryF Puntos 11921

Como @laaph mencionado, si usted sólo desea ejecutar comandos en bash, el uso de un script de bash.

Sin embargo, hay un par de problemas con sus comandos.

El script tiene que mirar como:

#!/bin/sh

pushd ~/Library/Vidalia
rm vidalia.conf
unzip vidalia.conf.zip
popd
open /Applications/Vidalia.app

Si usted no cambiar al directorio correcto, unzip sería descomprimir el archivo en su directorio de inicio, o desde donde lanzó su secuencia de comandos.

Hay maneras de ver para cuando una aplicación se cierra, pero en el caso de que esto parece inútil, estás quitando el .conf cada vez que inicie la secuencia de comandos de todos modos. Pero si usted realmente quiere que usted puede simplemente hacer:

#!/bin/sh

pushd ~/Library/Vidalia
rm vidalia.conf
unzip vidalia.conf.zip
popd
open -W /Applications/Vidalia.app
pushd ~/Library/Vidalia
rm vidalia.conf
popd

(Esto podría hacer que el script esperar hasta que se cierra la aplicación y, a continuación, desea eliminar el archivo de configuración. De nuevo, esto es inútil y redundante si va a ser sólo el lanzamiento de la app con el guión).

También, usted podría intentar una solución más simple: supongo que lo que quieres es sólo para tener el mismo vidalia.conf cada vez que inicie el programa. Si ese es el caso, intentar hacer la .conf de sólo lectura.

1voto

Jim Puntos 2826

Lo que hasta ahora es exactamente lo que usted desea, y para abrir un programa, el uso de "abierto", por lo que su script como este:

rm ~/Library/Vidalia/vidalia.conf
unzip ~/Library/Vidalia/vidalia.conf.zip
open /Applications/Vidallia.app

Hay todo tipo de trucos para supervisar si Vidalia se está ejecutando o no, así que si estás dispuesto a dejar el script que se ejecuta, usted podría eliminar el conf así, y entonces la secuencia de comandos de salida. Y, como usted dice, esto podría ser hecho (de otra manera) en Applescript, Automator, o un millón de otras maneras.

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