3 votos

Detectar que un script se ejecute dentro de ARD

¿Alguien sabe de una forma de detectar que un shell script se está ejecutando dentro de ARD (respecto a la ejecución de la misma secuencia de comandos localmente en la máquina)?

Miré a detectar que estamos ejecutando en modo interactivo - que no, ya que ambos son no interactiva.

Estoy buscando en la variable $0, lo que parece más prometedor - devuelve -bash cuando se ejecuta desde la línea de comandos, devuelve el nombre de la secuencia de comandos cuando se ejecuta dentro de un script se ejecute localmente, y vuelve /bin/bash cuando se ejecuta a través de ARD. Sin embargo - no estoy seguro de si esos efectos pueden ser contados.

¿Alguien tiene alguna entrada sobre esto?

4voto

Oskar Puntos 1242

¿Por qué no pasar un extraño argumento cuando se emite un comando de ARD.

Es más que un flujo de trabajo de un sistema de etiqueta generada, pero ARD probable que envía el mismo comando para launchd como el open -a comando de modo que el nivel de direccionamiento indirecto significa que usted no puede depender de la típica ppid de ps -ef encontrar el proceso que se bifurcaban en un guión específico.

¿Por qué no empujar a un contenedor de secuencia de comandos para todas sus máquinas y el uso que de contenedor de secuencia de comandos de registro de los argumentos de la consola? Luego de ARD puede llamar al script de envoltorio.

Algo así como una secuencia de comandos almacenados en /usr/local/bin/remote funcionan:

#!/bin/bash
echo "This script was called remotely and is about to run another script."
/bin/bash $*
echo "This script has just run another script."

Usted puede obtener todo lujo con el análisis de los argumentos o el uso de logger y/o la fecha/hora de estampación o grabación, que equipo hizo el envío, pero esta es una forma común de realizar seguimiento de la ejecución de otros scripts.

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