Respuesta principal
Sí, para responder a su pregunta, es posible usar JavaScript como un lenguaje de script "regular" desde la línea de comandos, sin un navegador. Como otros aún no lo han mencionado, veo que vale la pena mencionarlo:
En los sistemas basados en Debian (y esto incluye Ubuntu, Linux Mint y aptosid / sidux, al menos), además de las opciones de instalación de Rhino y otras ya mencionadas, tiene otras opciones:
Instale el libmozjs-24-binpaquete, que le proporcionará el motor Spidermonkey de Mozilla en la línea de comandos como un simple js24, que puede usarse también como un intérprete interactivo. (El 24en el nombre significa que corresponde a la versión 24 de Firefox).
Instale el libv8-devpaquete, que le proporcionará el motor V8 de Google. Tiene, como uno de sus ejemplos, el archivo /usr/share/doc/libv8-dev/examples/shell.cc.gzque puede descomprimir y compilar de manera muy simple (por ejemplo, g++ -Os shell.cc -o shell -lv8).
Instale el paquete nodejsy estará disponible como el ejecutable nodejsy como una alternativa (en el sentido de Debian) para proporcionar el jsejecutable. La compilación JIT se proporciona como cortesía de V8.
Instale el paquete libjavascriptcoregtk-3.0-biny use el intérprete JavaScriptCore de WebKit ( jsc) como intérprete habitual desde la línea de comandos. Y esto es sin necesidad de tener acceso a una Mac. En muchas plataformas (por ejemplo, x86 y x86_64), este intérprete vendrá con un compilador JIT.
Entonces, con casi ninguna compilación, tendrá a su disposición tres de los motores JavaScript más pesados.
Apéndice
Una vez que haya instalado las cosas, simplemente puede crear archivos con la #!/usr/bin/jslínea shebang y las cosas simplemente funcionarán:
$ cat foo.js
#!/usr/bin/js
console.log("Hello, world!");
$ ls -lAF /usr/bin/js /etc/alternatives/js /usr/bin/nodejs
lrwxrwxrwx 1 root root 15 Jul 16 04:26 /etc/alternatives/js -> /usr/bin/nodejs*
lrwxrwxrwx 1 root root 20 Jul 16 04:26 /usr/bin/js -> /etc/alternatives/js*
-rwxr-xr-x 1 root root 1422004 Apr 28 20:31 /usr/bin/nodejs*
$ chmod a+x foo.js
$ ./foo.js
Hello, world!
$ js ./foo.js
Hello, world!
$