| OSASCRIPT(1) | General Commands Manual | OSASCRIPT(1) | 
osascript —
    execute OSA scripts (AppleScript, JavaScript,
  etc.)
| osascript | [ -llanguage]
      [-i]
      [-sflags]
      [-estatement | programfile]
      [argument ...] | 
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:
-e switches on the
      command line.Any arguments following the script will be passed as a list of strings to the direct parameter of the “run” handler. For example, in AppleScript:
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-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.-iosascript will prompt for one
      line at a time, and print the result, if applicable, after each line. Any
      script supplied as a command argument using -e or
      programfile will be loaded, but not executed, before
      starting the interactive prompt.-l
    language-s
    flagse, 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 follows:
    hsosascript 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.
eoosascript 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), AppleScript Language Guide
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.
| April 24, 2014 | Mac OS X |