我在一个文件夹中放了一堆别名命令。主要是ssh,所以不必输入
ssh [user]@[server]
一天十次,我可以输入
server
并且别名脚本触发。该脚本只是命令
ssh [user]@[server]
这一切都很好。但我想知道在bash中是否有一种方法,而不是静静地触发ssh命令,它会显示正在执行的命令?
答案 0 :(得分:20)
您可debug the script使用-x
,它将回显命令和参数。
bash -x script.sh
您也可以对文件的特定部分执行此操作(从上面链接的第2.3.2节):
set -x # activate debugging from here
ssh user@example.com ...
set +x # stop debugging from here
-x
的输出可能对你正在寻找的东西来说有点过于冗长,因为它用于调试(而不是记录)。
您可能最好只写出自己的echo
语句 - 这样可以让您完全控制输出。
答案 1 :(得分:4)
将“-x”放在脚本的顶部而不是命令行:
$ cat ./server
#!/bin/bash -x
ssh user@server
$ ./server
+ ssh user@server
user@server's password: ^C
$