L'obiettivo è impostare il nome della rete della macchina con l'indirizzo IP di questa macchina. Ho creato un file plist e lo metto in / Library / Launchagents /. Per motivi di debug ho usato il comando "launctl start". Ecco il mio file plist:
<?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.myfile.hostname</string>
<key>ProgramArguments</key>
<array>
<string>/usr/sbin/ipconfig</string>
<string>getifaddr</string>
<string>en0</string>
<string>|</string>
<string>/usr/bin/tr</string>
<string>-d</string>
<string>'.'</string>
<string>|</string>
<string>sudo</string>
<string>/usr/sbin/scutil</string>
<string>--set</string>
<string>LocalHostName</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StandardErrorPath</key>
<string>/tmp/AlTest1.err</string>
<key>StandardOutPath</key>
<string>/tmp/AlTest1.out</string>
</dict>
</plist>
Quindi utilizzo:
launchctl start /Library/LaunchAgents/com.myfile.hostname.plist
e ottieni l'errore:
launchctl start error: No such process
Come l'errore non sta spiegando che cosa è esattamente sbagliato in quel file che sto cercando di trovare il motivo. Il comando stesso sul comando funziona bene. Se questa è la sezione sbagliata per questa domanda per favore consiglio.
Grazie in anticipo