mv
orcp
命令都期望源和目标作为参数。
如果您想撤消所做的更改,或者只是更改之前提供的源和目标,最快的方法是什么?
我想过创建一个接受command src dest
和 切换src
和 的函数dest
,但我想知道是否有更好的方法来做到这一点。
答案1
cp
不是使用and 的方式,而是使用withmv
的功能和通常的(类似)键绑定:GNU bash
readline
emacs
就像在 中一样emacs
,您可以使用 Mt (meta-、alt-)调换单词,因此如果您使用的是 bash,撤消操作mv file_a file_b
可能就像按向上箭头并点击 Mt 一样简单,这会将上面的内容更改为mv file_b file_a
。
(现在这甚至不是一个正确的解决方案,我不知道当参数有mv
空格或其他不常见的特殊字符时这是否有效。而且,就像 +Michael Mrozek 所说,不可能以cp
这种方式撤消对于真正的撤消,您还必须定义。确切地“撤消”是什么意思(例如,如果cp
覆盖现有文件怎么办?除非您包装保留备份副本的内容,否则无法撤消它cp
!))