El objetivo es establecer máquina del nombre de red con la dirección ip de esta máquina. He creado un archivo plist y ponerlo en /Library/Launchagents/. Para la depuración de razón he utilizado el comando "launctl inicio". Aquí está mi archivo 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>
Entonces yo uso:
launchctl start /Library/LaunchAgents/com.myfile.hostname.plist
y sale el error:
launchctl start error: No such process
Como el error es que no se explicar exactamente qué está mal con el archivo Im luchando para encontrar la razón. El propio comando en la línea de comandos funcionan bien. Si esta es la sección equivocada para esta pregunta por favor, consejos.
Gracias de antemano