help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: Executing bash bash script from emacs / elisp


From: Rainer M Krug
Subject: Re: Executing bash bash script from emacs / elisp
Date: Fri, 03 Sep 2010 14:41:16 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.10pre) Gecko/20100903 Lightning/1.0b2 Shredder/3.1.4pre

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 03/09/10 13:42, Deniz Dogan wrote:
> 2010/9/3 Rainer M Krug <r.m.krug@gmail.com>:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> On 03/09/10 13:09, Deniz Dogan wrote:
>>> 2010/9/3 Rainer M Krug <R.M.Krug@gmail.com>:
>>>> 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(The_Shell_Script.sh)
>>>>
>>>> Thanks,
>>>> Rainer
>>>>
>>>>
>>>>
>>>
>>> You want to look at the functions `call-process-shell-command' and
>>> `call-process'.
>>>
>>> Example:
>>> (call-process-shell-command "the_shell_script.sh" nil nil nil "arg1" "arg2")
>>>
>>> That's equivalent to running "the_shell_script.sh 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?
>>

Dear Mannon and Deniz

Thanks a lot for your input.

> 
> 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.

OK - I understand

> 
>> 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.
> 

Thanks - I am using call-process-shell-command and if I set the BUFFER
to 0, it backgrounds as I want it

Cheers,

Rainer

- -- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation
Biology, UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Natural Sciences Building
Office Suite 2039
Stellenbosch University
Main Campus, Merriman Avenue
Stellenbosch
South Africa

Tel:        +33 - (0)9 53 10 27 44
Cell:       +27 - (0)8 39 47 90 42
Fax (SA):   +27 - (0)8 65 16 27 82
Fax (D) :   +49 - (0)3 21 21 25 22 44
Fax (FR):   +33 - (0)9 58 10 27 44
email:      Rainer@krugs.de

Skype:      RMkrug
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkyA7OwACgkQoYgNqgF2egqGmQCcDWWvC4t1/liCgNtcb2twxmga
RV0AnAjoemamKaO2XqXDLLq7LhMSJvvr
=VuAy
-----END PGP SIGNATURE-----



reply via email to

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