Marcelo de Moraes Serpa <celose...@gmail.com> writes: Hi Marcelo,
> This is a subject that should be explored more. I see a lot of > potential in having CLI .el scripts (i.e taking the emacs GUI out of > the equation). I once asked a related question on stackoverflow, and recieved this answer that shows how to - become more independent of the location of the emacs executable - pass more than one argument on the shebang line at the same time: ,----------------------------------------------------------------------------- | Many unix variants only allow a single argument to the program on | the shebang line. Sad, but true. If you use #!/usr/bin/env emacs so | as not to depend on the location of the emacs executable, you can't | pass an argument at all. | | Chaining scripts is a possibility on some systems, but that too is | not supported everywhere. | | You can go the time-honored route of writing a script that is both | a shell script and an Emacs Lisp script (like Perl's if | $running_under_some_shell, for example). It sure looks hackish, but | it works. | | Elisp comments begin with ;, which in the shell separates two | up commands. So we can use a ; followed by a shell instruction to | vote switch over to Emacs, with the actual Lisp code beginning on the | 21 next line. Shells don't like an empty command though, so we need to | down find something that both the shell and Emacs treat as a no-op, so | vote put before the ;. The shell no-op command is :; you can write it | ":" as far as the shell is concerned, and Emacs parses that as a | constant at top level which is also a no-op. | | #! /bin/sh | ":"; exec emacs --no-site-file --script "$0" -- "$@" # -*-emacs-lisp-*- | (print (+ 2 2)) `----------------------------------------------------------------------------- Maybe thats interesting for you. The full question is here: http://stackoverflow.com/questions/6238331/emacs-shell-scripts-how-to-put-initial-options-into-the-script -- cheers, Thorsten