1 votes

exécution d'un simple shell script au démarrage dans Yosemite

Concernant le poste de stackexchange comment faire en sorte que les scripts du shell s'exécutent au démarrage sur Yosemite

L'offre ici est intéressante mais tout ce que je veux faire est de définir l'adresse IP d'une des interfaces Ethernet, en0 avec ifconfig. Je ne veux pas lancer un deamon.

la commande à exécuter est juste :

ifconfig en0  inet 192.168.1.23 netmask 255.255.255.0 

Bien entendu, les pilotes d'interface doivent être lancés et les interfaces doivent être disponibles pour la configuration. Cette opération doit être exécutée par Root, sinon elle doit être précédée par sudo, qui doit avoir les informations d'identification fournies.

J'ai le compte Root activé sur ce système et je suis à l'aise avec la plupart des dangers et les connais.

Mais je ne veux pas le faire manuellement à chaque fois que la machine est démarrée ou redémarrée.

Peut-être que quelqu'un d'Apple a une référence à un patch ou des informations sur la raison pour laquelle les opérations de préférences réseau pour la configuration manuelle des interfaces ne les configurent pas sur le mien.

J'achète et utilise des Macs depuis la fin des années 1990. C'est l'un des deux seuls Macs sur la douzaine que j'ai possédés qui n'a pas été acheté récemment auprès d'un fournisseur réputé. un revendeur réputé.

Le serveur Apache ne se lancera pas non plus avec l'option de partage du web.

Peut-être que la machine avec l'installation est trop vieille ? Il est

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

Cela ne m'indique pas sa date de fabrication actuelle.

Merci pour votre temps et votre attention

Jeff

3voto

jherran Points 12554

Vous pourriez enregistrer votre scriptcomme vous le souhaitez et l'appeler à partir d'un fichier .plist fichier enregistré sur /Library/LaunchAgents/ à lancer au démarrage.

Je vais vous expliquer comment procéder à l'aide d'un exemple.

  • Créez votre script et sauvegardez-le sur /Users/username/setip.sh .
  • Créez un nouveau fichier appelé com.username.setip.plist en /Library/LaunchAgents/ . Ce fichier doit avoir le format suivant :

    <?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>

Le dossier est assez explicite. Il lancera la commande /Users/username/setip.sh toutes les 60 secondes, sera lancé au chargement, sauvegardera les erreurs sur /tmp/com.username.setip.err et se connecte /tmp/com.username.setip.out .

Redémarrez, et le script sera exécuté.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X