例如,假设您要复制这样的文件:
cp path/to/the/file.txt path/to/the/file.copy
写两次路径非常令人沮丧,所以有没有像这样带有特殊字符的路径:
cp path/to/the/file.txt :)file.copy
这将非常有用,特别是当你尝试diff
在同一个目录中创建两个文件时
例如,假设您要复制这样的文件:
cp path/to/the/file.txt path/to/the/file.copy
写两次路径非常令人沮丧,所以有没有像这样带有特殊字符的路径:
cp path/to/the/file.txt :)file.copy
这将非常有用,特别是当你尝试diff
在同一个目录中创建两个文件时
这扩展为
cp path/to/the/file.txt path/to/the/file.copy
。这里需要使用括号扩展,但是为了完整性,在 bash 中,你可以使用“特殊字符”来表示它,但这很麻烦:
!#:$:h
。!#
:这是“迄今为止输入的整个命令行”的历史扩展事件指示器。:$
是最后一个参数的字标识符。如果您想要使用最后一个参数以外的其他参数,则需要使用 count::1
、:2
等。:h
是一个修饰符,用于“删除尾随路径名组件,仅留下头部”。所以:
这些特定的指示符在 zsh 中也以相同的方式工作。