我在这个容器中的 Linux 如下图所示:
root@sbolla-6c7b7589d8-5c2rb:/usr/safenet/lunaclient# uname -a
Linux sbolla-6c7b7589d8-5c2rb 3.10.0-693.5.2.el7.x86_64 #1 SMP Fri Oct 20 20:32:50 UTC 2017 x86_64 GNU/Linux
root@sbolla-6c7b7589d8-5c2rb:/usr/safenet/lunaclient#
我正在尝试使用 sshpass 命令执行一个简单的 scp,如下所示并遇到此错误。任何想法都非常感谢。请注意,我尝试了 scp 而不是 cp。事实上,这一行是在一个脚本中,我在 linux 命令行上尝试过,我得到了这个错误。我还尝试使用 ' 和 " 和 \ 以及所有组合来转义环境变量,但这似乎没有帮助。
root@sbolla-6c7b7589d8-5c2rb:/usr/safenet/lunaclient/bin# sshpass -p '$H_PASSWORD' scp -v $H_USERNAME@$H_HOSTNAME:server.pem .
Executing: cp '--' 'admin@abc-def.brilliant.local' '.'
cp: cannot stat 'admin@abc-def.brilliant.local': No such file or directory
Executing: cp '--' ':server.pem' '.'
cp: cannot stat ':server.pem': No such file or directory
root@sbolla-6c7b7589d8-5c2rb:/usr/safenet/lunaclient/bin#
如果我明确地使用这个命令,我可以让它工作,不知道为什么。请不要将这些输出中的主机名编辑为一些愚蠢的名称
root@sbolla-6c7b7589d8-5c2rb:/usr/safenet/lunaclient# sshpass -p $HSM_PASSWORD scp admin@grs-defcon.brilliant.local:server.pem .
ls -lia
root@sbolla-6c7b7589d8-5c2rb:/usr/safenet/lunaclient# ls -l | grep ser
-rw-r--r-- 1 root root 1172 Apr 28 12:23 server.pem
root@sbolla-6c7b7589d8-5c2rb:/usr/safenet/lunaclient# date
Sat Apr 28 12:24:29 UTC 2018
root@sbolla-6c7b7589d8-5c2rb:/usr/safenet/lunaclient#
我已经尝试了下面提供的答案,但没有奏效
sshpass -p "$H_PASSWORD" scp -v $H_USERNAME@${H_HOSTNAME}:server.pem .
我注意到的另一件事是,如果我在这个容器上执行 env,我会在环境变量中看到一个额外的行,这可能是一个问题。看看这个环境如何显示。请注意,我没有故意输入一行,当我输入 env 命令时,我看到 H_HOSTNAME 和 H_PARTITION 旁边的行很奇怪 H_PARTITION=Operator
MYSQL_PORT=tcp://11.123.113.242:3306
LUNAHS=TRUE
H_HOSTNAME=grs-defcon.brilliant.local
ROOT_PORT_443_TCP_PORT=443
MYSQL_PORT_3306_TCP_ADDR=11.456.231.242