Zsh
$‘n’ 是什麼意思
有一個 zsh 小元件,例如
down-line-or-select() { if [[ $RBUFFER == *$'\n'* ]]; then zle down-line else zle menu-select -w fi } zle -N down-line-or-select bindkey $terminfo[kcud1] down-line-or-select
在這裡,我不明白 的含義
*$'\n'*
。有人可以解釋一下嗎?
測試
[[ $variable == pattern ]]
測試變數的值是否與給定的 shell 模式匹配。在這種情況下,模式是
*$'\n'*
。模式的$'\n'
一部分錶示文字換行符。$'...'
通常是“ANSI C 字元串”,這意味著內部的反斜杠轉義序列$'...'
按照 C 語言標準的描述進行解釋,其中\n
是換行符、\t
製表符等。側翼*
的 ’s 將匹配任何前綴和後綴字元串。簡而言之,shell 模式
*$'\n'*
將匹配任何包含至少一個換行符的字元串。換句話說,測試對於$RBUFFER
.
bash
正如在shell中所寫的那樣,測試本身也是有效的。