Проверьте, является ли переменная неопределенной или пустой в одном условии if в csh - PullRequest
0 голосов
/ 07 августа 2020

Существование переменной и пустые значения могут быть проверены в отдельных if-условиях в csh.

if (! $?theVar) then

или

if ($theVar == "") then

Я хотел бы проверить эти условия в едином состоянии. Пробовал что-то вроде

if ((! $?theVar) || ($theVar == "")) then

Но работает не так, как ожидалось. Кажется, это просто, и я не смог найти подобный вопрос. Если вопрос уже существует, укажите его.

Примечание: нельзя изменить оболочку. Требуется решение только в csh.

1 Ответ

1 голос
/ 15 августа 2020

Даже если "||" считается оператором короткого замыкания, CSH по-прежнему будет проверять синтаксис целиком. следовательно, вызывая у вас проблемы. Отметьте здесь и здесь

Попробуйте это if ((! $? TheVar) && set theVar = "") || ($ theVar == "")) затем

...