深入探索Shell历史记录操作技巧
1. 文件名生成修饰符
在生成文件名时,可以使用修饰符,但修饰符必须用括号括起来。例如:
zsh% echo ~/.z*(:t)
.zcompdump .zfbkmarks .zlogout .zshenv .zshrc
若不使用括号, :t 会被视为单词的一部分。这种语法是 glob 限定符功能的一部分。当修饰符应用于有多个扩展的文件名模式时,会分别应用于每个元素,这是提取一组文件基本名称的好方法,该功能也适用于包含文件名列表的数组。
使用变量或文件名模式的修饰符时,要更注意特殊字符(如空格、引号等)。例如:
zsh% foo='two words'
zsh% echo $foo:s/two\ words/oneword/
oneword
这里必须用反斜杠对替换中的空格进行转义,否则替换会出错。也可以使用花括号,如 ${foo:s/two words/oneword/} 也能正常工作。
2. 历史引用验证和引用
两种 shell 都支持 histverify 选项,可在修改后检查命令行。在 bash 中,使用 shopt -s histverify 来设置该选项。设置后,任何涉及
超级会员免费看
订阅专栏 解锁全文
3

被折叠的 条评论
为什么被折叠?



