exit
, then press Return.do shell script
command is used to execute command-line tools. This command is implemented by the Standard Additions scripting addition included with OS X./Applications/Utilities/
is scriptable and provides another way to execute command-line tools from scripts. do shell script
command is a string containing the shell code you want to execute, as demonstrated in Listing 39-1, which simply lists a directory.do shell script 'ls /Applications/'
(*
--> Result:
'App Store.app
Automator.app
Calculator.app
Calendar.app
...'
*)
do shell script
is a string, you can concatenate it with other strings at run time. Listing 39-2, for example, concatenates a shell command to a previously defined parameter value.set theHostName to 'www.apple.com'
do shell script 'ping -c1 ' & theHostName
$
, (
, )
, and *
. To ensure that strings are treated as expected—for example, spaces aren’t seen as delimiters—it’s best to wrap strings in quotes. This process is known as quoting. If your string contains quotes, they must also be escaped (preceded by a /
character) so they are interpreted as part of the string. Listing 39-3 shows an example of an error occurring as a result of a parameter that contains a space.set thePath to '/Library/Application Support/'
do shell script 'ls ' & thePath
--> Result: error 'ls: /Library/Application: No such file or directoryrls: Support: No such file or directory' number 1
quoted form
property of the text class, as demonstrated in Listing 39-4. This property returns the string in a form that’s safe from further interpretation by the shell, regardless of its contents.set thePath to quoted form of '/Library/Application Support/'
--> Result: '/Library/Application Support/'
do shell script 'ls ' & thePath
(*
--> Result:
'App Store
Apple
...
'
*)
do shell script
command, see Commands Reference in AppleScript Language Guide and Technical Note TN2065.