具有特殊用户名的 scp

Alf*_*lle 3 linux shell scp

我正在尝试创建shell用于将文件复制到远程备份的脚本。

到目前为止,这是我的脚本:

PASSWORD=MY-SECRET-PASS
URL=SLOS755513-3:SL1255513@objectstorage.net
DIR=/backup

scp /home/user/my_log.txt $URL:$DIR
Run Code Online (Sandbox Code Playgroud)

但我收到错误:

ssh: Could not resolve hostname SLOS755513-3: Name or service not known
lost connection
Run Code Online (Sandbox Code Playgroud)

我想这是因为用户名中的特殊字符,因为如果我只是简单地写,test它实际上会尝试以test用户身份连接。

但我试图逃避\-\:一切都给了我同样的错误。我也不确定如何在脚本中使用密码。

Sve*_*ven 6

尝试这样的事情:

RUSER='SLOS755513-3:SL1255513'
HOST=objectstorage.net
DIR=/backup

scp -o user=$RUSER /home/user/my_log.txt $HOST:$DIR 
Run Code Online (Sandbox Code Playgroud)

这将使用户部分明确,因此scp不会尝试解释:为主机/路径分隔符。-o user=$USER将用户作为选项发送到底层ssh.