麻烦写 fish if 语句
Trouble writing fish if statement
所以我有以下 if 语句(最初来自我的 .zshrc):
if [ -n "${NVIM_LISTEN_ADDRESS+x}" ]; then
alias h='nvr -o'
alias v='nvr -O'
alias t='nvr --remote-tab'
fi
现在我正在尝试将它移植到我的 config.fish
,我知道它与 if 上的 [
有关,但我不太明白语法。
[
可以。 fish 中不同的两个部分是 +x 扩展修饰符和循环语法。
在 zsh 中,如果设置了 $NVIM_LISTEN_ADDRESS
,"${NVIM_LISTEN_ADDRESS+x}"
的计算结果为 x
,否则为空;然后比较它是否为空。这似乎是一种仅检查变量是否已设置的迂回方式。
关于循环,鱼块总是以end
结束,不需要then
或do
。
所以这是最直接的钓鱼港:
if [ -n "$NVIM_LISTEN_ADDRESS" ]
alias h='nvr -o'
alias v='nvr -O'
alias t='nvr --remote-tab'
end
这更符合惯用语:
if set -q NVIM_LISTEN_ADDRESS
abbr h 'nvr -o'
abbr v 'nvr -O'
abbr t 'nvr --remote-tab'
end
使用原地扩张的鱼abbreviation feature
所以我有以下 if 语句(最初来自我的 .zshrc):
if [ -n "${NVIM_LISTEN_ADDRESS+x}" ]; then
alias h='nvr -o'
alias v='nvr -O'
alias t='nvr --remote-tab'
fi
现在我正在尝试将它移植到我的 config.fish
,我知道它与 if 上的 [
有关,但我不太明白语法。
[
可以。 fish 中不同的两个部分是 +x 扩展修饰符和循环语法。
在 zsh 中,如果设置了 $NVIM_LISTEN_ADDRESS
,"${NVIM_LISTEN_ADDRESS+x}"
的计算结果为 x
,否则为空;然后比较它是否为空。这似乎是一种仅检查变量是否已设置的迂回方式。
关于循环,鱼块总是以end
结束,不需要then
或do
。
所以这是最直接的钓鱼港:
if [ -n "$NVIM_LISTEN_ADDRESS" ]
alias h='nvr -o'
alias v='nvr -O'
alias t='nvr --remote-tab'
end
这更符合惯用语:
if set -q NVIM_LISTEN_ADDRESS
abbr h 'nvr -o'
abbr v 'nvr -O'
abbr t 'nvr --remote-tab'
end
使用原地扩张的鱼abbreviation feature