0

假设我有文件树

-A_dir/
  - a_test_file1

这样做mv a_test_file1 a_test_file2会导致烦人的更正查询。mv永远不应该更正第二个参数,因为它可能指向文件系统上的现有节点,也可能不指向。但是,第一个参数可能会被更正,因为它必须始终是有效节点。

这是一个常见的用例,我只想zsh更正命令中的某些参数。我怎样才能做到这一点?

4

1 回答 1

0

将其作为答案,因为它的评论文本太多......但这确实是一个评论。

老实说,粗略阅读手册表明,如果没有深入的黑客技术,这是不可能的。correct更正命令并correct_all尝试更正所有参数。

我想过做类似的事情

function mv {
  emulate -L zsh
  CORRECT_IGNORE='*'$@[-1]'*'
  command mv $@
}

但它不起作用,因为CORRECT_IGNORE不适用于文件名的更正。如果您可以找到如何从参数列表中生成更正,则可以为要更正的所有参数生成更正,然后调用nocorrect mv ....

于 2014-07-24T08:21:39.753 回答