Scripting the Terminal
As
Chapter 18 describes, the Terminal application
provides a command-line interface to the Unix system running
underneath Mac OS X’s GUI layers. AppleScript
reflects this by offering only one real Terminal-scripting command:
do
script. If you
tell the Terminal application do script
some_command, the Terminal acts
as if you had invoked some_command by
typing it on the command line.
Tip
Apple provides an excellent TechNote on the do shell script command, which can be found at http://developer.apple.com/technotes/tn2002/tn2065.html.
For example, if you want the Terminal to display your shell’s command path, you can use the following:
tell application "Terminal"
do script "echo $PATH"
end tellWhen run, this script launches the Terminal (or opens a new Terminal
window if the application is already running) and issues the
echo $PATH command. The result looks something
like this:
MacChuck:~ chuck$ echo $PATH
/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/vscan:/usr/libexec:/Developer/Tools
MacChuck:~ chuck$Another level of scripting the Terminal uses involves any of the Unix scripting languages that ship with Mac OS X, including Perl, Python, and Ruby. These languages can perform tasks ranging from simple glue between Mac OS X’s Unix programs to acting as full-fledged applications in their own right.
Unfortunately, you can’t learn these languages by a little bit of guided stumbling, as you can with AppleScript (see Section 14.2.2). That said, they’re high-level languages that ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access