Nic*_*s C 4 environment-variables fish
我在寻找以下bash语法的等效项,但在fish shell中:
local datafile="${_Z_DATA:-$HOME/.z}"
Run Code Online (Sandbox Code Playgroud)
即定义一个局部变量,$_Z_DATA
如果该变量被定义,它将取值,否则将取$HOME/.z
据我所知,没有语法。你需要像
set datafile "$_Z_DATA"
test -z "$datafile"; and set datafile "$HOME/.z"
Run Code Online (Sandbox Code Playgroud)
要么
if set -q _Z_DATA; and test -n _Z_DATA
set datafile "$_Z_DATA"
else
set datafile "$HOME/.z"
fi
Run Code Online (Sandbox Code Playgroud)
与相比bash
,在函数内部定义的变量会自动在该函数局部,因此不需要等价的变量local
。(此答案的先前版本使用该-l
选项来本地化变量,但这使它对于发生在其中的任何块均 set
是局部的。)
归档时间: |
|
查看次数: |
323 次 |
最近记录: |