嗨,我想运行一个 Linux 命令,该命令可以自动执行 scp,其起始位置不同,目标位置保持不变。 例如 -
scp 123.txt [email protected]:~/
目的地([电子邮件受保护])始终相同,但文件名 (123.txt) 始终不同。
我想运行整个 scp 命令 (scp 123.txt [email protected]:~/),而不输入目标位置
注意:([电子邮件受保护]在这种情况下可能看起来很短,但我有一个更复杂的目的地,每次输入都很麻烦)
尝试使用函数而不是别名。将以下函数放入您的 .bashrc 文件中。
function do-scp() {
scp "$1" [email protected]:~/
}
因此您可以按如下方式调用它:
do-scp 123.txt
你可以在bash中定义一个函数,例如:
my_scp()
{
scp $1 [email protected]:~/
}
并使用
$my_scp 123.txt
您可以将它们放在 ~/.bash_profile 中,以便它们始终可用
这不是比 EJK 更好的答案,但如果您想在远程位置上使用名为“xyz”的目的地略有不同的快捷方式,您可以在 ~/.bashrc 中添加:
function scp_xyz() { scp $1 [email protected]:"${2}" }
然后使用:
scp_xwz 123.txt /different_destination_on_xyz/