2012-03-22 3 views
12

Я собрал в папку несколько команд псевдонимов. в основном SSH, так что вместо того, чтобы вводитьПолучение сценария bash для эхо исполнения команды

ssh [user]@[server] 

десять раз в день, я могу просто ввести

server 

и пожаров псевдоним сценария. сценарий - это просто команда

ssh [user]@[server] 

все это работает нормально. но мне было интересно, есть ли способ в bash, где вместо того, чтобы спокойно запускать команду ssh, отобразится команда, которая выполняется?

ответ

15

Вы можете debug the script с -x, который будет повторять команды и аргументы.

bash -x script.sh 

Вы можете сделать это для определенных частей файла тоже (из раздела 2.3.2, связанной выше):

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

Выход из -x может быть немного слишком многословен за то, что» но, тем не менее, поскольку он предназначен для отладки (и не протоколирования).

Возможно, вам будет лучше просто написать свои собственные заявления echo - это даст вам полный контроль над выходом.

+0

что своего рода поражения цели псевдонима. если у кого-то другая идея, я просто добавлю эхо для команды над фактической командой и посмотрю, как это работает. – scphantm

+0

@scphantm - Да, это действительно не предназначено для регистрации, либо - moreso это для отладки. Но это делает работу. Вероятно, это лучшее решение. Добавление ваших собственных выражений 'echo', вероятно, было бы лучшим; тогда у вас будет полный контроль над протоколированием. Я включил это в свой ответ. –

+0

Теперь мне это нравится. очень круто ... я, конечно же, немного поиграю с этим, и убедитесь, что он работает. благодаря – scphantm

Смежные вопросы