2012-03-22 5 views
12

junté un montón de comandos de alias en una carpeta. principalmente ssh, así que en vez de tener que escribirhaciendo que bash script haga eco del comando que se está ejecutando

ssh [user]@[server] 

diez veces al día, puedo simplemente escribir

server 

y los fuegos de script de alias. el script es simplemente el comando

ssh [user]@[server] 

todo funciona bien. pero me preguntaba si había una manera en bash donde en lugar de disparar el comando ssh en silencio, mostraría el comando que se está ejecutando?

Respuesta

15

Puede debug the script con -x, que hará eco de los comandos y argumentos.

bash -x script.sh 

Usted puede hacer esto por partes específicas del archivo, también (de la sección 2.3.2 vinculado anteriormente):

set -x   # activate debugging from here 
ssh [email protected] ... 
set +x   # stop debugging from here 

La salida de -x podría ser un poco demasiado prolijo para lo que' Estoy buscando, sin embargo, ya que está destinado para la depuración (y no para el registro).

Puede que sea mejor que escriba sus propias declaraciones echo, que le darían control total sobre la salida.

+0

que vence un poco el propósito del alias. a menos que alguien tenga otra idea, simplemente agregaré un eco para el comando que está sobre el comando real y veré cómo funciona. – scphantm

+0

@scphantm - Sí, en realidad no es para iniciar sesión, es más, es para depuración. Pero hace el trabajo. Es probable que haya una mejor solución. Agregar tus propias sentencias 'echo' probablemente sea lo mejor; tendrías un control total sobre el registro, entonces. Lo he incorporado a mi respuesta. –

+0

Ahora me gusta eso. muy bueno ... ciertamente jugaré con eso un poco y me aseguraré de que funcione. Gracias – scphantm

Cuestiones relacionadas