Deprecated: Function set_magic_quotes_runtime() is deprecated in /home/vhosts/mundonix.ueuo.com/common.php on line 88
Mundonix • View topic - Ejecutar commando y enviar salida tanto a mi consola como a

Mundonix

Todo para linux, unix, mac,...
The time is Sun Dec 05, 2021 12:02 am

All times are UTC + 1 hour [ DST ]




Post new topic Reply to topic  [ 1 Post ] 
Author Message
 Post subject: Ejecutar commando y enviar salida tanto a mi consola como a
New postPosted: Thu Jul 27, 2006 11:58 pm 
Offline
Site Admin

Joined: Tue Jul 25, 2006 1:47 am
Posts: 22
Con este script pretendo que pueda ejecutar un comando en un terminal y que la salida pueda ser visualizada tanto en ese terminal como en otro que elijamos. Es útil por ejemplo si estamos logueados en una máquina remota, a través de ssh, y queremos tanto los comandos introducidos como la salida que estos originan pueda ser leida tanto en nuestro terminal como en otro terminal que tenga abierto un usuario que esté usando localmente la máquina remota, para monitorizar lo que se hace. Lo típico, vamos a resolver un problema remotamente a algún colega que quiere ver qué hacemos. Lo primero que hay que hacer es localizar cual es el número del terminal al que queremos dirigir la salida, que estará en /dev/pts/. Si no sabéis cómo hacerlo no dudeis en preguntarlo. Una vez localizado ya se puede arrancar el script.

Quote:
#!⁄bin⁄bash
#execmon.bash
#Script para ejecutar un comando en un terminal y mostrar la salida
#en el terminal usado y en otro adicional.
#Publicado por airon en http://webpacifica.blogspot.com
param=$#
if [ $param -eq 2 ]; then
echo $1 | tee a.out && cat a.out > /dev/pts/$2 && exec `cat a.out` | tee /dev/pts/$2 && rm a.out
else
echo "Modo de uso:"
echo "execmon 'comando' num"
echo " -comando es el comando a ejecutar (hay que introducir las ')"
echo " -num es el número de la consola virtual a la que dirigir la salida"
fi



Ahora le dabos permisos de ejecución y lo copiamos por ejemplo en ⁄usr⁄local⁄bin.

Los comandos que queramos compartir los ejecutamos ahora como:
Code:
execmon.bash 'comando' número_de_terminal


Por ejemplo, para hacer emerge -up world y mandarlo al terminal 3, sería:
Code:
execmon.bash 'emerge -up world' 3


Hay utilidades como screen que pueden ser utilizadas para hacer más o menos lo mismo, son aplicaciones mucho más maduras y completas. Pero bueno, este es un sencillísimo script que puede ser usado sin necesidad de instalar nada en la máquina remota.


 
 Profile Send private message  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 1 Post ] 

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: None and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2002, 2006 phpBB Group
Free Web Hosting