强制 SCP 不提示输入密码

Force SCP not to prompt for password

我正在编写脚本来测试 unix 命令。其中之一是 SCP 命令,其中设置了证书,因此在正常情况下不会要求输入密码。

scp /tmp/test.txt  $userid@$hostname:$path

但假设证书被删除或用户 ID 错误等情况,则脚本无法完成,因为 scp 要求输入密码

在终端上

 scp /tmp/test.txt $userid@$hostname:$path
 Password: 

那么我怎么能强制不提示输入密码并且在无法验证时失败。

scp命令存储在一个变量line中,执行如下

`$line`

通常:

scp -o BatchMode=yes ..

摘自 scp 手册页:

 -B      Selects batch mode (prevents asking for passwords or
         passphrases).