Значение 1
эквивалентно FALSE
на уровне оболочки.
Также имейте в виду, что csh
немного подозрительно, поскольку if
— это не ключевое слово csh
, а скорее встроенная команда.
В csh
встроенная команда if
вызывает отдельный синтаксический анализатор, который считывает оператор до тех пор, пока он не будет прочитан полностью.
Обратите внимание, что в отличие от FreeBSD и, возможно, Linux, csh
в Solaris не идентичен tcsh
, а представляет собой другой двоичный файл. Но даже tcsh
так себя ведет на Солярисе.
В общем, csh непоследовательно, см., например,.http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/
Существует несколько ошибок, которые будут обнаружены при запуске вашего скрипта через shellcheck
.
Затем разбейте задачу на части:
Сначала сделайте это, а затем вернитесь, если возникнут проблемы.