The `#!' mechanism works on Unix systems derived from Berkeley Unix, System V Release 4, and some System V Release 3 systems.
The
line beginning with `#!' lists the full file name of an interpreter
to be run, and an optional initial command line argument to pass to that
interpreter. The operating system then runs the interpreter with the
given argument and the full argument list of the executed program. The
first argument in the list is the full file name of the Octave program.
The rest of the argument list will either be options to Octave, or data
files, or both. The -qf
option is usually specified in
stand-alone Octave programs to prevent them from printing the normal
startup message, and to keep them from behaving differently depending on
the contents of a particular user's `~/.octaverc' file.
See section Invoking Octave.
It would be much better to use prod
(1:n)
, or gamma (n+1)
instead, after first checking to ensure
that the value n
is actually a positive integer.
The `.m' suffix was chosen for compatibility with MATLAB.
For example, to first sort based on the values in column 1, and then, for any values that are repeated in column 1, sort based on the values found in column 2, etc.
M-x
is also a command;
it invokes execute-extended-command
. See section `Executing an extended command' in the GNU Emacs Manual, for more detailed
information.