ejecutando un script de shell simple en el inicio en Yosemite

1

Con respecto a la publicación de stackexchange cómo obtener shell scripts para que se ejecuten al inicio en Yosemite

La oferta aquí es interesante, pero todo lo que quiero hacer es configurar la dirección IP de una de las interfaces Ethernet, en0 con ifconfig. No quiero lanzar un demonio.

el comando para ejecutar es simplemente:

ifconfig en0  inet 192.168.1.23 netmask 255.255.255.0 

Por supuesto, los controladores de la interfaz se deben iniciar y las interfaces están disponibles para la configuración. Esto tiene que ser ejecutado por la raíz, de lo contrario tiene que ser precedido con sudo, que tiene que tener las credenciales proporcionadas.

Tengo la cuenta de root activada en este sistema y me siento cómodo con y conozco la mayoría de los peligros.

Pero no quiero hacer esto manualmente cada vez que la máquina se inicia o reinicia.

Quizás alguien de Apple tenga una referencia a un parche o información sobre por qué Las operaciones de preferencia de red para la configuración manual de interfaces no las establecerán en la mía.

He estado comprando y usando Mac desde finales de los 90. Este es uno de los dos únicos de casi una docena de Mac que poseo que no se han comprado recientemente en un distribuidor de renombre.

El servidor Apache tampoco se iniciará con la opción de compartir en la web.

¿Quizás la máquina con la instalación es demasiado antigua? Es

Note: I BOUGHT THIS MACHINE USED FOR CASH
 Model Name:    MacBook Pro
 Model Identifier:  MacBookPro5,1
 Processor Name:    Intel Core 2 Duo
 Processor Speed:   2.4 GHz
 Number of Processors:  1
 Total Number of Cores: 2
 L2 Cache:  3 MB
 Memory:    4 GB
 Bus Speed: 1.07 GHz
 Boot ROM Version:  MBP51.007E.B06
 SMC Version (system):  1.33f8
 <sn deleted for this post>
  Hardware UUID:    63410FEB-9CFF-5C8C-A692-8733BBEE36C5
 Sudden Motion Sensor:
 State: Enabled

Esto no me dice su fecha de fabricación real.

Gracias por el tiempo y la atención

Jeff

    
pregunta JeffK 14.11.2014 - 22:05

1 respuesta

3

Puede guardar su secuencia de comandos como desee y llamarla desde un archivo .plist guardado en /Library/LaunchAgents/ para que se inicie al inicio.

Déjame explicarte cómo hacerlo con un ejemplo.

  • Cree su script y guárdelo en /Users/username/setip.sh .
  • Crea un nuevo archivo llamado com.username.setip.plist en /Library/LaunchAgents/ . Este archivo debe tener el siguiente formato:
<?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>Label</key>
  <string>com.username.setip</string>

  <key>ProgramArguments</key>
  <array>
    <string>/Users/username/setip.sh</string>
  </array>

  <key>Nice</key>
  <integer>1</integer>

  <key>StartInterval</key>
  <integer>60</integer>

  <key>RunAtLoad</key>
  <true/>

  <key>StandardErrorPath</key>
  <string>/tmp/com.username.setip.err</string>

  <key>StandardOutPath</key>
  <string>/tmp/com.username.setip.out</string>
</dict>
</plist>

El archivo es bastante autoexplicativo. Lanzará el comando /Users/username/setip.sh cada 60 segundos, se iniciará en la carga, guardará los errores en /tmp/com.username.setip.err y los registros en /tmp/com.username.setip.out .

Reinicia, y se ejecutará el script.

    
respondido por el jherran 15.11.2014 - 08:35

Lea otras preguntas en las etiquetas