scp 到别名

use*_*888 4 bash alias arguments

要将文件夹从本地主机传输到远程主机,我通常会执行以下操作:

$ scp -r myFolder user@host:destFolder/
Run Code Online (Sandbox Code Playgroud)

为了让这更容易,我给远程主机目的地取了别名:

$ alias remoteHost user@host:destFolder/
Run Code Online (Sandbox Code Playgroud)

但是,对别名进行 scping 不起作用:

$ scp -r myFolder `remoteHost`
bash: user@host:destFolder/: No such file or directory
usage: scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
           [-l limit] [-o ssh_option] [-P port] [-S program]
           [[user@]host1:]file1 ... [[user@]host2:]file2
Run Code Online (Sandbox Code Playgroud)

cuo*_*glm 6

alias 允许用字符串代替单词,因为当它用作简单命令的第一个单词时,而不是像您想要的那样用字符串代替字符串。

您应该改用变量:

remoteHost='user@host:destFolder/'
scp -r myFolder "$remoteHost"
Run Code Online (Sandbox Code Playgroud)