[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Executing bash bash script from emacs / elisp

From: Deniz Dogan
Subject: Re: Executing bash bash script from emacs / elisp
Date: Fri, 3 Sep 2010 13:42:53 +0200

2010/9/3 Rainer M Krug <>:
> Hash: SHA1
> On 03/09/10 13:09, Deniz Dogan wrote:
>> 2010/9/3 Rainer M Krug <>:
>>> Hi
>>> I am a complete beginner concerning elisp - so please bear with me if
>>> this is a simple question.
>>> I would like to execute a shell (bash) script from elisp, which is then
>>> called from org-babel to do some post-processing of the result of
>>> tangling. Tangling in org-babel has a hook for post-processing, and I
>>> know how to set it. Therefore I am simply looking for a way of executing
>>> my shell script from that hook.
>>> essentially:
>>> this-function-executes-a-shell-script(
>>> Thanks,
>>> Rainer
>> You want to look at the functions `call-process-shell-command' and
>> `call-process'.
>> Example:
>> (call-process-shell-command "" nil nil nil "arg1" "arg2")
>> That's equivalent to running " arg1 arg" in a shell.
> Thanks a lot. After looking around I also found async-shell-command and
> shell-command. Am I right in assuming that, as the script is not
> producing any output, these commands are equivalent?

Those two functions are interactive, i.e. they can be called by the
user directly using e.g. M-x shell-command. Nothing stops you from
using them, but they both basically just wrap call-process in a bunch
of user interaction handling.

> In addition, when using async-shell-command I get asked "A command is
> running. Kill it? (yes or no)"
> Is there any way to avoid this?

Yes, it should be enough to simply set the OUTPUT-BUFFER argument to
nil to tell Emacs not to print the output anywhere, hence not creating
a buffer for the process.

Deniz Dogan

reply via email to

[Prev in Thread] Current Thread [Next in Thread]