Zsh 单引号中的反斜杠
我正在使用zsh。我认为“\t”和“\t”的行为应该有所不同 但当我测试以下内容时:Zsh 单引号中的反斜杠,zsh,backslash,quote,Zsh,Backslash,Quote,我正在使用zsh。我认为“\t”和“\t”的行为应该有所不同 但当我测试以下内容时: $ a="\t" $ b='\t' $ [[ $a == $b ]] && echo "equal" equal 无论是单引号还是双引号,反斜杠的行为似乎都是一样的 那么如何保留反斜杠的文字值呢?\t仅在ANSI-C引用中是特殊的,即$'\t'。至于最后一个问题,您的解释是错误的。反斜杠在你们两个版本中都是字面意思。我明白了。因此,只有在执行echo时才解释\t,而如果使用$'\t',则在
$ a="\t"
$ b='\t'
$ [[ $a == $b ]] && echo "equal"
equal
无论是单引号还是双引号,反斜杠的行为似乎都是一样的
那么如何保留反斜杠的文字值呢?
\t
仅在ANSI-C引用中是特殊的,即$'\t'
。至于最后一个问题,您的解释是错误的。反斜杠在你们两个版本中都是字面意思。我明白了。因此,只有在执行echo时才解释\t,而如果使用$'\t',则在输入echo之前已经对其进行了解释?$'\t'
基本上等同于一个文本制表符,只是它被引用了,所以它不会被视为分词器,也不会被分词剥离。