if ("$myVar" == "") then
echo "the string is blank"
endif
Observe que, em csh, é um erro tentar acessar uma variável indefinida. (De uma perspectiva de shell Bourne, é como se set -u
estivesse sempre em vigor.) Para testar se uma variável está definida, use $?myVar
:
if (! $?myVar) then
echo "myVar is undefined"
else
if ("$myVar" == "") then
echo "myVar is empty"
else
echo "myVar is non-empty"
endif
endif
Observe o uso de um if
aninhado. Você não pode usar else if
aqui, porque isso faria com que a condição "$myVar" == ""
fosse analisada mesmo quando a primeira condição fosse verdadeira. Se você quiser tratar o caso vazio e indefinido da mesma maneira, primeiro defina a variável:
if (! $?myVar) then
set myVar=""
endif
if ("$myVar" == "") then
echo "myVar is empty or was undefined"
else
echo "myVar is non-empty"
endif