|Subject:||Re: Running command to different screen|
|Date:||Thu, 20 Jul 2006 08:58:24 -0400|
* Mag Gam <address@hidden> [2006-07-20 07:55 -0400]:
> Is it possible to run a command to a different active screen terminal?
Yes. Use the screen command 'at'.
> If I have 4 different virutal terms open, and I want to run 'df -h' on all
> of them at the same time....
The second parameter to 'at' is an identifier that matches either a
window, a user, or a display terminal. It matches it as a prefix, so it
is possible to construct commands that will match multiple times. If
those four windows are all you have, you can use 'at # ...', which will
match all of your windows. If you have windows that you don't want to
receive the command, you need those four to have the same title. In my
setup, any window running a shell has a title of "zsh", so for my system
I'd use 'at zsh# ...'.
For getting commands to run in shells inside screen, the screen command
you need to use is 'stuff'. To run 'df -h', you'd use 'stuff "df -h ^J"'
where "^J" is a quoted control-J (or enter) character. I couldn't manage
to get the ^J entered from screen's colon mode, though. I think there's a
way to define aliases for commands, but I can't find it at the moment.
The best thing to do would be to use an editor to create a file
at zsh# stuff "df -h^J"
and then, in screen, run
You can also run, from the command line:
screen -X at zsh\# stuff "df -h^J"
since shells will generally let you quote control characters.
...computer contrarian of the first order... / http://aperiodic.net/phil/
PGP: 026A27F2 print: D200 5BDB FC4B B24A 9248 9F7A 4322 2D22 026A 27F2
Hello, my name is Inigo Montoya, you killed my father, prepare to die.
-- Inigo (_The Princess Bride_, William Goldman)
---- --- --
screen-users mailing list
|[Prev in Thread]||Current Thread||[Next in Thread]|