Linux gnu screen - run commands immediately when screen starts?

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.


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.