cp
由于我经常通过网络将不同数量的特定文件复制到(相当复杂的)目标目录,因此如果我可以使用's标志,我的生活会容易得多-t
:有了它,您可以指定目标目录“at开始”——而不是作为最后的论点。
这样,我就可以CTRL-R
执行复制命令,然后CTRL-W
执行先前复制的文件,同时保留(复杂的)设置和目标系统和目录,无论之前有多少文件。
但我找不到任何合适的标志,无论是 forscp
还是 for rsync
。 (如果其中一个提供此选项,我会使用其中之一。)
做scp
或rsync
提供类似的东西cp -t
?
在我的绝望中,我什至玩弄了bash
历史控制,特别是参数提取机制:不幸的是,似乎不可能以“the”的形式指定范围X-最后一个参数”,我需要它,因为我并不总是有参数的数量(除非我计算......)。
答案1
也许你可以定义一个环绕的函数scp
:
scpt () {
scp "$@" user@host:/some/convoluted/path
}
然后做
scpt file1
scpt /dir1/file2
scp
另外,通过历史交互,您可以使用 获取上一个命令的最后一个参数!scp:$
,因此您也可以这样做:
scp /dir1/file2 !scp:$
(因为目标目录通常是最后一个)