OSASCRIPT(1) System General Commands Manual OSASCRIPT(1)
NAME
osascript - execute OSA scripts
SYNOPSIS
osascript [-l language] [-e command] [-s flags] [programfile]
DESCRIPTION
osascript executes the given script file, or standard input if none is
given. Scripts may be plain text or compiled scripts. osascript was
designed for use with AppleScript, but will work with any Open Scripting
Architecture (OSA) language. To get a list of the OSA languages
installed on your system, use osalang(1). For documentation on Apple-
Script itself, see <http://www.apple.com/applescript>. The options are
as follows:
-e command
Enter one line of a script. If -e is given, osascript will not
look for a filename in the argument list. Multiple -e commands 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 command 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.
BUGS
osascript does not yet provide any way to pass arguments to the script.
Mac OS X June 12, 2001 Mac OS X