El objetivo es establecer el nombre de la red de la máquina con la dirección IP de esta máquina. He creado un archivo plist y lo puse en / Library / Launchagents /. Por razones de depuración utilicé el comando "launctl start". 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>
Luego uso:
launchctl start /Library/LaunchAgents/com.myfile.hostname.plist
y recibe el error:
launchctl start error: No such process
Como el error no está explicando qué es exactamente lo que está mal en ese archivo, estoy intentando encontrar el motivo. El comando en sí mismo en el comando funciona bien. Si esta es la sección incorrecta para esta pregunta, por favor, consejo.
Gracias de antemano