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 tell
When 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 ...
Get Mac OS X Panther in a Nutshell, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.