2012-03-22 69 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 2012-03-22 13:33:30

+0

@scphantm - 是的,它实际上并不意味着要进行日志记录,更重要的是它用于调试。但它能完成这项工作。有可能有更好的解决方案。添加自己的'echo'语句可能是最好的;那么你就可以完全控制日志记录。我已经将其纳入我的答案。 – 2012-03-22 13:34:34

+0

现在我喜欢那样。非常酷...我肯定会玩一点,并确保它的工作。谢谢 – scphantm 2012-03-22 13:43:40