osascript(1) BSD General Commands Manual osascript(1)
NAME
osascript -- execute AppleScripts and other OSA language scripts
SYNOPSIS
osascript [-l language] [-s flags] [-e statement | programfile]
[argument ...]
DESCRIPTION
osascript executes the given script. It was designed for use with Apple-
Script, but will work with any Open Scripting Architecture (OSA) lan-
guage. To get a list of the OSA languages installed on your system, use
osalang(1). For documentation on AppleScript itself, see
<http://www.apple.com/applescript>.
osascript will look for the script in one of the following three places:
1. Specified line by line using -e switches on the command line.
2. Contained in the file specified by the first filename on the command
line. This file may be plain text or a compiled script.
3. Passed in using standard input. This works only if there are no
filename arguments; to pass arguments to a STDIN-read script, you
must explicitly specify ``-'' for the script name.
Any arguments following the script will be passed as a list of strings to
the direct parameter of the ``run'' handler. For example:
a.scpt:
on run argv
return "hello, " & item 1 of argv & "."
end run
% osascript a.scpt world
hello, world.
The options are as follows:
-e statement
Enter one line of a script. If -e is given, osascript will not
look for a filename in the argument list. Multiple -e options may
be given to build up a multi-line script. Because most scripts use
characters that are special to many shell programs (e.g., Apple-
Script uses single and double quote marks, ``('', ``)'', and
``*''), the statement will have to be correctly quoted and escaped
to get it past the shell intact.
-l language
Override the language for any plain text files. Normally, plain
text files are compiled as AppleScript.
-s flags
Modify the output style. The flags argument is a string consisting
of any of the modifier characters e, h, o, and s. Multiple modi-
fiers can be concatenated in the same string, and multiple -s
options can be specified. The modifiers come in exclusive pairs;
if conflicting modifiers are specified, the last one takes prece-
dence. The meanings of the modifier characters are as follows:
h Print values in human-readable form (default).
s Print values in recompilable source form.
osascript normally prints its results in human-readable form:
strings do not have quotes around them, characters are not
escaped, braces for lists and records are omitted, etc. This is
generally more useful, but can introduce ambiguities. For exam-
ple, the lists `{"foo", "bar"}' and `{{"foo", {"bar"}}}' would
both be displayed as `foo, bar'. To see the results in an unam-
biguous form that could be recompiled into the same value, use
the s modifier.
e Print script errors to stderr (default).
o Print script errors to stdout.
osascript normally prints script errors to stderr, so downstream
clients only see valid results. When running automated tests,
however, using the o modifier lets you distinguish script
errors, which you care about matching, from other diagnostic
output, which you don't.
SEE ALSO
osacompile(1), osalang(1)
HISTORY
osascript in Mac OS X 10.0 would translate `\r' characters in the output
to `\n' and provided c and r modifiers for the -s option to change this.
osascript now always leaves the output alone; pipe through tr(1) if nec-
essary.
Prior to Mac OS X 10.4, osascript did not allow passing arguments to the
script.
Mac OS X June 10, 2003 Mac OS X
Mac OS X 10.6 - Generated Thu Sep 17 20:08:15 CDT 2009
