[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] Batch execution and --script
From: |
Thorsten Jolitz |
Subject: |
Re: [O] Batch execution and --script |
Date: |
Wed, 29 Aug 2012 20:59:18 +0200 |
User-agent: |
Gnus/5.130002 (Ma Gnus v0.2) Emacs/24.0.93 (gnu/linux) |
Marcelo de Moraes Serpa <address@hidden> 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