変数が空でないか確認するには?

string length -q -- $varを使ってください. 例えばif string length -q -- $var; echo not empty; endのように使います.

string lengthは複数の引数のリストを個別にチェックし, 1つでも空でなければ0を返します.

if string length -q -- $var1 $var2 $var3
    echo at least one of these variables is not empty
end

代わりにtest -n "$var"を使ってください. ただしダブルクオートで変数を括ることを忘れないでください. 例えばif test -n "$var"; echo not empty; endのように使います. testコマンドはオプションとして-a(and)と-o(or)を持ちます.

if test -n "$var1" -o -n "$var2" -o -n "$var3"
    echo at least one of these variables is not empty
end