Mac Developer Library Developer


This manual page is for Mac OS X version 10.9

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • To learn how the manual is organized or to learn about command syntax, read the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Developer Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.

OSASCRIPT(1)              BSD General Commands Manual             OSASCRIPT(1)

     osascript -- execute AppleScripts and other OSA language scripts

     osascript [-l language] [-s flags] [-e statement | programfile] [argument ...]

     osascript executes the given script.  It 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 sys-tem, system,
     tem, use osalang(1).  For documentation on AppleScript itself, see <>.

     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 argu-ments arguments
          ments 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:

           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 argu-ment argument
           ment 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., 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.

     -l language
           Override the language for any plain text files.  Normally, plain text files are compiled as

     -s flags
           Modify the output style.  The flags argument is a string consisting of any of the modifier char-acters characters
           acters e, h, o, and s.  Multiple modifiers 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 precedence.  The meanings of the modifier characters are as fol-lows: 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 example, the lists `{"foo",
              "bar"}' and `{{"foo", {"bar"}}}' would both be displayed as `foo, bar'.  To see the results in
              an unambiguous 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.

     osacompile(1), osalang(1)

     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 necessary.

     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

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.