以下git命令(删除以〜结尾的所有文件)使用转义字符
git rm \*~
Run Code Online (Sandbox Code Playgroud)
理由是,除了shell使用的扩展之外,git还使用它自己的文件名扩展.
这是否意味着转义字符是一种抑制shell完成文件名扩展的方法?
不知何故,我无法对此进行妥善处理.
是的,转义字符会抑制Unix shell正常执行的文件名扩展.回答这些问题:
git rm实现自己的扩展可能是因为文件可能不存在于签出目录中.(想想你最初的情况rm *~,然后记住你也想要将它们从中删除git.)
使用反斜杠转义字符(或用引号括起参数)就是这样做 - 禁止在shell级别扩展文件名.这不能git自动完成,因为git无法控制shell,在执行时,扩展已经结束.shell本身必须防止扩展,或者更实际的是,最终用户git通过shell 调用.
| 归档时间: |
|
| 查看次数: |
856 次 |
| 最近记录: |