奇怪的zsh行为:如何调试?

时间:2013-02-28 16:09:52

标签: zsh

当我进入

$ echo $USER:

我得到了

robin:

哪个好。但是当我进入时:

$ echo $USER:a

我得到了

/Users/robin/robin

[MY_CURRENT_DIR] / [MY_USER_NAME]

这种行为似乎对我很敏感。谁能告诉我如何调试这个?我已经检查了别名,但那不是它。

1 个答案:

答案 0 :(得分:2)

:a被解释为$USER参数的修饰符,对其进行处理 作为文件名并通过前置你的文件将其转换为绝对路径 当前目录。这包含在历史记录扩展部分中 modifiers subsection中的zshexpn联机帮助页。

您可以通过使用花括号包围变量名来防止这种情况: ${USER}:a。一般来说,任何时候做这件事都是个好主意 除了空格或引号字符后面的变量名称。