Run UNIX commands in an AppleScript
November 13, 2008 10:44 am Mac Tips
where unix_command is the actual command you want to execute. In my case, this was to set the Sharing hostname to match the actual DNS hostname of the computer, which looked like this: By the way, if you do intend to set the Sharing name to the computer’s hostname, make sure to include the backticks (located under the ~ sign at the top left of most keyboards) around the word hostname, otherwise you’ll just name your computer ‘hostname’ rather than its DNS name. It’s important to note that this a) leaves your password in the script, and b) runs silently. If you just want to be prompted for a password, add the following lines before and after your script, like this: This will launch Terminal, which will then prompt you for your password in order to sudo.
If you want to easily encapsulate a shell script or a UNIX command in an AppleScript, but that command must be executed as root (through a sudo), just do the following (all one line):do shell script "unix_command" password "your_password" with administrator privilegesdo shell script "sudo scutil --set ComputerName `hostname`" password "NoWayJose" with administrator privilegestell application "Terminal"
do script "sudo scutil --set ComputerName `hostname`"
end tell
