* how to send lines of a shell script directly to the shell
@ 2023-04-16 8:53 Uwe Brauer
2023-04-16 9:05 ` tomas
` (2 more replies)
0 siblings, 3 replies; 11+ messages in thread
From: Uwe Brauer @ 2023-04-16 8:53 UTC (permalink / raw)
To: help-gnu-emacs
Hi
I have to execute a series of commands like
git checkout strings
mygit-push-named-branch strings
etc
It is a list of these commands in a file. I can call
M-x shell
And then copy each line to the shell where it is executed.
Is there any faster way, a command like
execute this line via the shell.
I googled but cannot find anything.
Regards
Uwe Brauer
--
Warning: Content may be disturbing to some audiences
I strongly condemn Putin's war of aggression against the Ukraine.
I support to deliver weapons to Ukraine's military.
I support the ban of Russia from SWIFT.
I support the EU membership of the Ukraine.
https://addons.thunderbird.net/en-US/thunderbird/addon/gmail-conversation-view/
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: how to send lines of a shell script directly to the shell
2023-04-16 8:53 how to send lines of a shell script directly to the shell Uwe Brauer
@ 2023-04-16 9:05 ` tomas
2023-04-16 10:03 ` Uwe Brauer
2023-04-16 10:09 ` Uwe Brauer
2023-04-16 15:31 ` Eduardo Ochs
2023-04-22 19:49 ` parozusa
2 siblings, 2 replies; 11+ messages in thread
From: tomas @ 2023-04-16 9:05 UTC (permalink / raw)
To: help-gnu-emacs
[-- Attachment #1: Type: text/plain, Size: 712 bytes --]
On Sun, Apr 16, 2023 at 10:53:54AM +0200, Uwe Brauer wrote:
>
>
> Hi
>
> I have to execute a series of commands like
>
> git checkout strings
> mygit-push-named-branch strings
> etc
>
> It is a list of these commands in a file. I can call
> M-x shell
>
> And then copy each line to the shell where it is executed.
>
> Is there any faster way, a command like
> execute this line via the shell.
>
> I googled but cannot find anything.
Ask your Emacs, not Google. Emacs is your friend, Google isn't :)
c-h a (apropos) shell suggests shell-command-on-region, usually
bound to M-|
(of course, you'd have to mark the line; automating that is left
as an...)
Cheers
--
t
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: how to send lines of a shell script directly to the shell
2023-04-16 9:05 ` tomas
@ 2023-04-16 10:03 ` Uwe Brauer
2023-04-16 12:57 ` tomas
2023-04-16 10:09 ` Uwe Brauer
1 sibling, 1 reply; 11+ messages in thread
From: Uwe Brauer @ 2023-04-16 10:03 UTC (permalink / raw)
To: help-gnu-emacs
[-- Attachment #1: Type: text/plain, Size: 1040 bytes --]
> On Sun, Apr 16, 2023 at 10:53:54AM +0200, Uwe Brauer wrote:
> Ask your Emacs, not Google. Emacs is your friend, Google isn't :)
> c-h a (apropos) shell suggests shell-command-on-region, usually
> bound to M-|
> (of course, you'd have to mark the line; automating that is left
> as an...)
I tried this command out, before asking 😉
but this does not work, I mark the region
Run it and the mini-buffer asks:
shell-command-on-region
And you have to specify the command.
So that is thought that you run a already defined command on some
region.
But this is not what I want.
I want to send a certain line to the shell so that it is executed.
> Cheers
--
Warning: Content may be disturbing to some audiences
I strongly condemn Putin's war of aggression against the Ukraine.
I support to deliver weapons to Ukraine's military.
I support the ban of Russia from SWIFT.
I support the EU membership of the Ukraine.
https://addons.thunderbird.net/en-US/thunderbird/addon/gmail-conversation-view/
[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 5673 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: how to send lines of a shell script directly to the shell
2023-04-16 9:05 ` tomas
2023-04-16 10:03 ` Uwe Brauer
@ 2023-04-16 10:09 ` Uwe Brauer
2023-04-18 18:52 ` Leo Butler
1 sibling, 1 reply; 11+ messages in thread
From: Uwe Brauer @ 2023-04-16 10:09 UTC (permalink / raw)
To: help-gnu-emacs
[-- Attachment #1: Type: text/plain, Size: 823 bytes --]
> On Sun, Apr 16, 2023 at 10:53:54AM +0200, Uwe Brauer wrote:
> Ask your Emacs, not Google. Emacs is your friend, Google isn't :)
With a bit better search I obtained
https://stackoverflow.com/questions/6286579/emacs-shell-mode-how-to-send-region-to-shell
Which does what I want
> c-h a (apropos) shell suggests shell-command-on-region, usually
> bound to M-|
> (of course, you'd have to mark the line; automating that is left
> as an...)
> Cheers
--
Warning: Content may be disturbing to some audiences
I strongly condemn Putin's war of aggression against the Ukraine.
I support to deliver weapons to Ukraine's military.
I support the ban of Russia from SWIFT.
I support the EU membership of the Ukraine.
https://addons.thunderbird.net/en-US/thunderbird/addon/gmail-conversation-view/
[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 5673 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: how to send lines of a shell script directly to the shell
2023-04-16 10:03 ` Uwe Brauer
@ 2023-04-16 12:57 ` tomas
0 siblings, 0 replies; 11+ messages in thread
From: tomas @ 2023-04-16 12:57 UTC (permalink / raw)
To: help-gnu-emacs
[-- Attachment #1: Type: text/plain, Size: 785 bytes --]
On Sun, Apr 16, 2023 at 12:03:41PM +0200, Uwe Brauer wrote:
>
> > On Sun, Apr 16, 2023 at 10:53:54AM +0200, Uwe Brauer wrote:
>
> > Ask your Emacs, not Google. Emacs is your friend, Google isn't :)
>
> > c-h a (apropos) shell suggests shell-command-on-region, usually
> > bound to M-|
>
> > (of course, you'd have to mark the line; automating that is left
> > as an...)
>
> I tried this command out, before asking 😉
> but this does not work, I mark the region
>
> Run it and the mini-buffer asks:
>
> shell-command-on-region
>
> And you have to specify the command.
Oh, sorry, it was the other way around. We could, of course,
weasel our way out by specifyng /bin/sh or /bin/bash in the
minibuffer, but that's not what I meant ;-)
Cheers
--
t
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: how to send lines of a shell script directly to the shell
2023-04-16 8:53 how to send lines of a shell script directly to the shell Uwe Brauer
2023-04-16 9:05 ` tomas
@ 2023-04-16 15:31 ` Eduardo Ochs
2023-04-16 19:47 ` Uwe Brauer
2023-04-22 19:49 ` parozusa
2 siblings, 1 reply; 11+ messages in thread
From: Eduardo Ochs @ 2023-04-16 15:31 UTC (permalink / raw)
To: help-gnu-emacs
On Sun, 16 Apr 2023 at 05:54, Uwe Brauer <oub@mat.ucm.es> wrote:
>
> Hi
>
> I have to execute a series of commands like
>
> git checkout strings
> mygit-push-named-branch strings
> etc
>
> It is a list of these commands in a file. I can call
> M-x shell
>
> And then copy each line to the shell where it is executed.
>
> Is there any faster way, a command like
> execute this line via the shell.
>
> I googled but cannot find anything.
>
> Regards
>
> Uwe Brauer
Hi Uwe,
take a look at this too:
http://anggtwu.net/eepitch.html
http://anggtwu.net/eepitch.html#trying-it
http://anggtwu.net/emacsconf2021.html
The instructions at the "Trying it" are very simple and there's a very
nice demo in the first 30 seconds of my presentation at the
EmacsConf2021. The easiest way to watch it with subtitles is here,
http://www.youtube.com/watch?v=qM0Luz78qGw
and the easiest way to create the 3-line block that sets up the target
buffer is explained here:
http://anggtwu.net/eev-intros/find-eev-quick-intro.html#6.3
Cheers =),
Eduardo Ochs
http://anggtwu.net/#eev
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: how to send lines of a shell script directly to the shell
2023-04-16 15:31 ` Eduardo Ochs
@ 2023-04-16 19:47 ` Uwe Brauer
0 siblings, 0 replies; 11+ messages in thread
From: Uwe Brauer @ 2023-04-16 19:47 UTC (permalink / raw)
To: help-gnu-emacs
[-- Attachment #1: Type: text/plain, Size: 281 bytes --]
> On Sun, 16 Apr 2023 at 05:54, Uwe Brauer <oub@mat.ucm.es> wrote:
Hi Eduardo
> Hi Uwe,
> take a look at this too:
> http://anggtwu.net/eepitch.html
> http://anggtwu.net/eepitch.html#trying-it
> http://anggtwu.net/emacsconf2021.html
Thanks I will have a look, later.
[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 5673 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: how to send lines of a shell script directly to the shell
2023-04-16 10:09 ` Uwe Brauer
@ 2023-04-18 18:52 ` Leo Butler
2023-04-18 19:14 ` Emanuel Berg
2023-04-20 20:12 ` Uwe Brauer
0 siblings, 2 replies; 11+ messages in thread
From: Leo Butler @ 2023-04-18 18:52 UTC (permalink / raw)
To: help-gnu-emacs@gnu.org
On Sun, Apr 16 2023, Uwe Brauer <oub@mat.ucm.es> wrote:
>> On Sun, Apr 16, 2023 at 10:53:54AM +0200, Uwe Brauer wrote:
>
>> Ask your Emacs, not Google. Emacs is your friend, Google isn't :)
>
> With a bit better search I obtained
>
> https://stackoverflow.com/questions/6286579/emacs-shell-mode-how-to-send-region-to-shell
>
> Which does what I want
There are several solutions there, you don't mention which you chose.
Anyhow, I recommend keyboard macros. That is generally much faster than
any alternative...if I find myself using a keyboard macro repeatedly,
then I will invest time in finding or writing a better alternative.
Alternatively, org-mode can do pretty much what you want.
Leo
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: how to send lines of a shell script directly to the shell
2023-04-18 18:52 ` Leo Butler
@ 2023-04-18 19:14 ` Emanuel Berg
2023-04-20 20:12 ` Uwe Brauer
1 sibling, 0 replies; 11+ messages in thread
From: Emanuel Berg @ 2023-04-18 19:14 UTC (permalink / raw)
To: help-gnu-emacs
Leo Butler wrote:
> Anyhow, I recommend keyboard macros. That is generally much
> faster than any alternative
They are?
--
underground experts united
https://dataswamp.org/~incal
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: how to send lines of a shell script directly to the shell
2023-04-18 18:52 ` Leo Butler
2023-04-18 19:14 ` Emanuel Berg
@ 2023-04-20 20:12 ` Uwe Brauer
1 sibling, 0 replies; 11+ messages in thread
From: Uwe Brauer @ 2023-04-20 20:12 UTC (permalink / raw)
To: help-gnu-emacs
[-- Attachment #1: Type: text/plain, Size: 2070 bytes --]
>>> "LB" == Leo Butler <Leo.Butler@umanitoba.ca> writes:
> On Sun, Apr 16 2023, Uwe Brauer <oub@mat.ucm.es> wrote:
>>> On Sun, Apr 16, 2023 at 10:53:54AM +0200, Uwe Brauer wrote:
>>
>>> Ask your Emacs, not Google. Emacs is your friend, Google isn't :)
>>
>> With a bit better search I obtained
>>
>> https://stackoverflow.com/questions/6286579/emacs-shell-mode-how-to-send-region-to-shell
>>
>> Which does what I want
> There are several solutions there, you don't mention which you chose.
This one
(defun sh-send-line-or-region (&optional step)
(interactive ())
(let ((proc (get-process "shell"))
pbuf min max command)
(unless proc
(let ((currbuff (current-buffer)))
(shell)
(switch-to-buffer currbuff)
(setq proc (get-process "shell"))
))
(setq pbuff (process-buffer proc))
(if (use-region-p)
(setq min (region-beginning)
max (region-end))
(setq min (point-at-bol)
max (point-at-eol)))
(setq command (concat (buffer-substring min max) "\n"))
(with-current-buffer pbuff
(goto-char (process-mark proc))
(insert command)
(move-marker (process-mark proc) (point))
) ;;pop-to-buffer does not work with save-current-buffer -- bug?
(process-send-string proc command)
(display-buffer (process-buffer proc) t)
(when step
(goto-char max)
(next-line))
))
> Anyhow, I recommend keyboard macros. That is generally much faster than
> any alternative...if I find myself using a keyboard macro repeatedly,
> then I will invest time in finding or writing a better alternative.
Uff, I found this cumbersome
--
Warning: Content may be disturbing to some audiences
I strongly condemn Putin's war of aggression against the Ukraine.
I support to deliver weapons to Ukraine's military.
I support the ban of Russia from SWIFT.
I support the EU membership of the Ukraine.
https://addons.thunderbird.net/en-US/thunderbird/addon/gmail-conversation-view/
[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 5673 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: how to send lines of a shell script directly to the shell
2023-04-16 8:53 how to send lines of a shell script directly to the shell Uwe Brauer
2023-04-16 9:05 ` tomas
2023-04-16 15:31 ` Eduardo Ochs
@ 2023-04-22 19:49 ` parozusa
2 siblings, 0 replies; 11+ messages in thread
From: parozusa @ 2023-04-22 19:49 UTC (permalink / raw)
To: help-gnu-emacs
Uwe Brauer writes:
> Hi
>
> I have to execute a series of commands like
>
> git checkout strings
> mygit-push-named-branch strings
> etc
>
> It is a list of these commands in a file. I can call
> M-x shell
>
> And then copy each line to the shell where it is executed.
>
> Is there any faster way, a command like
> execute this line via the shell.
>
> I googled but cannot find anything.
>
> Regards
>
> Uwe Brauer
"list of commands in a file" = "shell script"
Make <file> executable by
$ chmod a+x <file>
and execute it
$ ./<file>
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2023-04-22 19:49 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-16 8:53 how to send lines of a shell script directly to the shell Uwe Brauer
2023-04-16 9:05 ` tomas
2023-04-16 10:03 ` Uwe Brauer
2023-04-16 12:57 ` tomas
2023-04-16 10:09 ` Uwe Brauer
2023-04-18 18:52 ` Leo Butler
2023-04-18 19:14 ` Emanuel Berg
2023-04-20 20:12 ` Uwe Brauer
2023-04-16 15:31 ` Eduardo Ochs
2023-04-16 19:47 ` Uwe Brauer
2023-04-22 19:49 ` parozusa
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).