3

In my .screenrc file, I have this line to open one screen window:

screen -t "normal"

And this line to open another window and run top:

screen -t "top" top

Those work just fine so I wanted to immediately run df && ls -alh in a third window, so I placed this line into the .screenrc:

screen -t "df" df && ls -alh

The df window never appears so I thought the && may be the cause of the problem and tried it with just df.

screen -t "df" df

The df window still fails to appear.

Question: How can I run one command followed by another in the same screen window via screenrc? I'd like for it to behave exactly as it does in bash. Thanks for any advice.

1 Answer 1

3

It probably appears, but disappears after it ran.

Try the following:

screen -t "df" bash -c 'df && sleep 50'

This will show the output of the df command for 50 seconds.

To have a useful df output I would recommend you to use watch:

screen -t "df" watch -n 10 df

This will runs df in every 10 seconds, so you'll have the actual status of your free disk space on that terminal.

3
  • 1
    That works. How do you keep the window from going away once the commands execute? Apr 12, 2012 at 15:50
  • @01100110 I've updated my answer Apr 13, 2012 at 8:10
  • This works, but when you reconnect to the screen and stop the df loop by pressing ctrl-c, the screen terminates. Any way to start the screen so the screen stays live even if the program started within stops?
    – 576i
    Jan 28, 2016 at 9:58

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .