Amaç, makinenin ağ adını bu makinenin ipadresiyle belirlemektir. Bir plist dosya yarattım ve / Library / Launchagents / içine koydum. Hata ayıklama nedeniyle "launctl start" komutunu kullandım. İşte benim plist dosyam:
<?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>
O zaman kullanıyorum:
launchctl start /Library/LaunchAgents/com.myfile.hostname.plist
ve hatayı olsun:
launchctl start error: No such process
Hata bu dosyada tam olarak neyin yanlış olduğunu açıklamadığı için nedenini bulmakta zorlanıyorum. Komutun kendisindeki komut iyi çalışır. Bu, bu soru için yanlış bölüm ise lütfen tavsiye.
Şimdiden teşekkürler