我在 shell 脚本中使用“scp”命令。如果该命令不起作用,我该如何获取错误日志。
这就是我的使用方式scp file username@servername:/specificdirectory/
答案1
如果在运行时遇到错误scp
,请尝试ssh
首先对服务器执行操作,默认情况scp
下不会优雅地处理新密钥,并且ssh
错误报告更加冗长。
要获取正在发生的事情的更详细日志,请尝试使用以下命令运行它-v
:
scp -v 文件用户名@服务器名称:/特定目录/
您还必须记住,以 开头的路径/
是绝对路径,而不是相对于您的主目录的路径,因此您可能需要尝试:
scp 文件 用户名@服务器名称:特定目录/
答案2
获取调试输出的一个好方法bash
是使用set -x
。通常,任何结果都将输出到STDOUT 或 STDERR。如何捕获该信息取决于脚本的执行方式。根据重击(1)手册页:
-x After expanding each simple command, for command, case
command, select command, or arithmetic for command,
display the expanded value of PS4, followed by the com-
mand and its expanded arguments or associated word
list.
答案3
通常,unix 环境中的程序会将错误写入标准错误输出。因此您可以像这样执行命令:
scp -v file username@servername:/specificdirectory/ 2> scp_error.log