# Running ij scripts

You can run scripts in ij in any of the following ways:

- Name an input file as a command-line argument. For example:

      java org.apache.derby.tools.ij <myscript.sql>

- Redirect standard input to come from a file. For example:

      java org.apache.derby.tools.ij < <myscript.sql>

- Use the Run command from the ij command line. For example:

      ij> run 'myscript.sql';

Note: If you name an input file as a command-line argument or if you use the Run command, ij echoes input from a file. If you redirect standard input to come from a file, ij does not echo commands.

You can save output in any of the following ways:

- By redirecting output to a file:

      java org.apache.derby.tools.ij <myscript.sql> > <myoutput.txt>

- By setting the `ij.outfile` property:

      java -Dij.outfile=<myoutput.txt> org.apache.derby.tools.ij
          <myscript.sql>

ij exits when you enter the Exit command or, if executing a script, when the end of the command file is reached. When you use the Exit command, ij automatically shuts down an embedded Derby system by issuing a `connect jdbc:derby:;shutdown=true` request. It does not shut down Derby if it is running in a server framework.

Parent topic: Getting started with ij