esegue un semplice script di shell all'avvio in Yosemite

1

Per quanto riguarda il post di stackexchange come ottieni gli script della shell da avviare all'avvio su Yosemite

L'offerta qui è interessante ma tutto ciò che voglio fare è impostare l'indirizzo IP di una delle interfacce ethernet, en0 con ifconfig. Non voglio lanciare un demone.

il comando da eseguire è solo:

ifconfig en0  inet 192.168.1.23 netmask 255.255.255.0 

Ovviamente i driver dell'interfaccia devono essere lanciati e le interfacce disponibili per la configurazione. Questo deve essere eseguito da root, altrimenti deve essere preceduto da sudo, che deve avere le credenziali fornite.

Ho attivato l'account di root su questo sistema e sono a mio agio e conosco la maggior parte dei rischi.

Ma non voglio farlo manualmente ogni volta che la macchina viene avviata o riavviata.

Forse qualcuno di Apple ha un riferimento a una patch o informazioni sul perché le operazioni di preferenza di rete per la configurazione manuale delle interfacce non le imposteranno sul mio.

Ho acquistato e usato Mac dalla fine degli anni '90. Questo è uno degli unici due di una dozzina di Mac che ho posseduto che non è stato appena acquistato da un commerciante stimabile.

Anche il server Apache non verrà avviato con l'opzione di condivisione web.

Forse la macchina con l'installazione è troppo vecchia? È

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

Questo non mi dice la sua data di produzione actuall.

Grazie per il tempo e l'attenzione

Jeff

    
posta JeffK 14.11.2014 - 22:05
fonte

1 risposta

3

Puoi salvare il tuo script come vuoi e chiamarlo da un file .plist salvato su /Library/LaunchAgents/ da avviare all'avvio.

Lascia che ti spieghi come farlo con un esempio.

  • Crea lo script e salvalo su /Users/username/setip.sh .
  • Crea un nuovo file chiamato com.username.setip.plist in /Library/LaunchAgents/ . Questo file deve avere il seguente 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>

Il file è piuttosto auto-esplicativo. Avvierà il comando /Users/username/setip.sh ogni 60 secondi, verrà avviato al caricamento, salverà gli errori su /tmp/com.username.setip.err e accederà a /tmp/com.username.setip.out .

Riavvia e lo script verrà eseguito.

    
risposta data 15.11.2014 - 08:35
fonte

Leggi altre domande sui tag