Re: Sending Command Pipeline to a detached Screen

Neal Fultz <[email protected]>
Newsgroups gmane.comp.gnu.screen.user
Message-ID <CAL9B2veEhjgD8jvSCHwNLNB7GH4pm_sHwri=Y8=487Y6pzwF6A@mail.gmail.com>
*screen -d -m -S Screen-Name*
*screen -S Screen-Name -p 0 -X stuff "Command1; Command2  | Command3
&& Command4"$(echo -ne '\015')*

This first creates a screen session running a shell, most likely bash.
Second, it sends some commands to the terminal input using stuff. In this
case, you could append the `exit` command to your chain of commands to make
the shell exit.

Alternatively, you could instead use a single screen command to start a
bash shell in non-interactive mode, and provide the commands to it instead
of stuffing them through screen:

screen -dRS Screen-Name /bin/bash -c "echo 1; echo a | sed s/a/A/;
echo 2 > /tmp/hooha.txt"


This will automatically close when finished, and avoids stuff entirely.



On Tue, Nov 22, 2016 at 2:37 PM, aws backup <[email protected]>
wrote:

> Ok I figured out the correct syntax.
>
> *screen -d -m -S Screen-Name; screen -S Screen-Name -p 0 -X stuff
> "Command1; Command2  | Command3 && Command4"$(echo -ne '\015')*
>
> $(echo -ne '\015') starts the command pipe in the screen session. But now
> the screen is not terminating anymore after the command pipe has finished
> as it did before when it only received one command. Therefore the script
> runs into an error when it runs the next time because it makes a new screen
> session with the same name and then it does not know to which screen
> session to send the command.
>
> Why is it not terminating the session anymore? Is there a command which I
> can send there?
> Any other suggestion how to solve this problem?
>
> Thank you.
>
>
>
> On 19 Nov 2016, at 14:19, Colin Richardson <[email protected]> wrote:
>
> Oh, there is.a trick to that too. I will need to check on my raspberry pi,
> but I think you can send a ^M at the end and it acts like the user pressing
> ENTER. I don't remember the exact char off the top of my head and I am out
> and about shipping at the moment, but shoulder be able to google the
> command IDF is not M.
>
> On 19 Nov 2016 11:54 am, "aws backup" <[email protected]> wrote:
>
> Hi Colin,
>
> thank you. I tried but nothing arrived in the screen or it did arrive but
> didn't start.
> What is the exact syntax? Can I start the screen and send the commands in
> one command or do I have to start the screen in one command and in the next
> command I send the pipeline? I tried it like this:
>
> *screen -d -m -S Screen-Name; screen -S **Screen-**Name -p 0 -X stuff
> "Command1; Command2  | Command3 && Command4"*
>
> How is it with quotations in the command pipe? Can they interfere? For
> example:  -X stuff "command "$f" | command2 "text""
>
> Thank you.
>
>
>
> On 19 Nov 2016, at 12:07, Colin Richardson <[email protected]> wrote:
>
> Have u tried -X stuff "command | command2" with the quotes?
>
> On 19 Nov 2016 7:36 am, "aws backup" <[email protected]> wrote:
>
>> Hello,
>>
>> I would like to start a screen session in detached mode and send a
>> command pipeline to it. How can I do this?
>> With my approach
>>
>> *screen -d -m -S Name Command1; Command2  | Command3 && Command4*
>>
>> only Command1 is send to the screen.
>>
>> Thank you.
>>
>>
>>
>> _______________________________________________
>> screen-users mailing list
>> screen-users-mXXj517/[email protected]
>> https://lists.gnu.org/mailman/listinfo/screen-users
>>
>>
>
>
>
> _______________________________________________
> screen-users mailing list
> screen-users-mXXj517/[email protected]
> https://lists.gnu.org/mailman/listinfo/screen-users
>
>

_______________________________________________
screen-users mailing list
screen-users-mXXj517/[email protected]
https://lists.gnu.org/mailman/listinfo/screen-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.