我把一堆别名命令放在一个文件夹中.主要是ssh,所以不必键入
ssh [user]@[server]
Run Code Online (Sandbox Code Playgroud)
一天十次,我可以打字
server
Run Code Online (Sandbox Code Playgroud)
并且别名脚本触发.脚本就是命令
ssh [user]@[server]
Run Code Online (Sandbox Code Playgroud)
这一切都很好.但我想知道在bash中是否有一种方法,而不是静静地触发ssh命令,它会显示正在执行的命令?
Rob*_*ska 23
您可以调试脚本用-x,这将呼应的命令和参数.
bash -x script.sh
Run Code Online (Sandbox Code Playgroud)
您也可以对文件的特定部分执行此操作(从上面链接的第2.3.2节):
set -x # activate debugging from here
ssh user@example.com ...
set +x # stop debugging from here
Run Code Online (Sandbox Code Playgroud)
-x但是,对于您正在寻找的内容,输出可能有点过于冗长,因为它用于调试(而不是日志记录).
你可能最好只写出自己的echo陈述 - 这会让你完全控制输出.
小智 6
将“ -x”放在脚本顶部,而不是在命令行上:
$ cat ./server
#!/bin/bash -x
ssh user@server
$ ./server
+ ssh user@server
user@server's password: ^C
$
Run Code Online (Sandbox Code Playgroud)