File: *manpages*, Node: osascript, Up: (dir) OSASCRIPT(1) BSD General Commands Manual OSASCRIPT(1) NAME osascript -- execute OSA scripts (AppleScript, JavaScript, etc.) SYNOPSIS osascript [-l language] [-i] [-s flags] [-e statement | programfile] [argument ...] DESCRIPTION osascript executes the given OSA script, which may be plain text or a compiled script (.scpt) created by Script Editor or osacompile(1). By default, osascript treats plain text as AppleScript, but you can change this using the -l option. To get a list of the OSA languages installed on your system, use osalang(1). 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, in Apple- Script: 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 (for example, AppleScript uses single and double quote marks, ``('', ``)'', and ``*''), the statement will have to be correctly quoted and escaped to get it past the shell intact. -i Interactive mode: osascript will prompt for one line at a time, and print the result, if applicable, after each line. Any script sup- plied as a command argument using -e or programfile will be loaded, but not executed, before starting the interactive prompt. -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), AppleScript Language Guide 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 April 24, 2014 Mac OS X