Pasé exactamente por el mismo proceso cuando estaba jugando con logKext. El comando unix que puede querer explorar es /usr/bin/expect.
Puede volverse complejo rápidamente, pero básicamente lo que hace es actuar como un mediador entre usted y los programas que está ejecutando para que pueda proporcionar respuestas que normalmente tendría que escribir. Como ejemplo, construí este script para poder automatizar el proceso de imprimir la salida de logKext. Deberías reconocer todos los comandos que normalmente escribirías tú mismo en logkextClient...
#!/usr/bin/expect -f
spawn logkextClient
expect "logKext Password:"
send "mylogkextpassword\r"
expect "logKextClient > "
send "print\r"
expect "logKextClient > "
send "quit\r"
close
En 10.5 y 10.6 esto funcionaba bien para mí para la salida de la impresión de logKext para que pudiera canalizarlo en un correo electrónico y enviarlo. Sin embargo, yo estaba ejecutando esta sesión como Root a la terminal, por lo que era simple.
Teóricamente Si no estás conectado como Root, podrías decir
#!/usr/bin/expect -f
spawn sudo -k logkextClient
expect "Password:"
send “myrootpassword\r”
expect "logKext Password:"
send "mylogkextpassword\r"
expect "logKextClient > "
send "print\r"
expect "logKextClient > "
send "quit\r"
close
(nótese que he utilizado sudo -k
intencionadamente para ser coherente y exigir una contraseña cada vez)
Así que podrías usar tu editor de línea de comandos favorito para crear este script, hacer un chmod +x
y arrastrarlo al muelle para lanzarlo... Teóricamente.
Pero he estado teniendo problemas en Mavericks para conseguir que /usr/bin/expect se comporte correctamente con sudo, así que esto no me está funcionando en otros scripts como debería. Y de todas formas ya no tengo logKext instalado para hacer pruebas.
Pero creo que esta es la dirección que debes tomar.
Buena suerte.