На самом деле, вторая выдаст ошибку с жалобой на то, что IsServerStarted не является допустимым целым числом.Он считается строковой константой, поэтому что-то вроде
var="IsServerStarted"
if [ IsServerStarted == "$var" ] ; then
будет успешным (или потерпит неудачу, если оно не будет равно).
ndim правильно относительно исполняемого файла или функциив первом примере, который вы дали.
Еще пара вариантов для рассмотрения:
if $IsServerStarted ; then ...
В этом примере if
оценивается на основе возвращаемого значения команды (исполняемый илифункция), которая содержится в переменной IsServerStarted
.Таким образом, вы можете установить IsServerStarted=true
, и тогда if
будет успешным, поскольку true
является встроенной оболочкой, которая всегда возвращает true.Вы можете установить IsServerStarted='grep popsicle freezer' and the
, если 'пройдет или не пройдёт, в зависимости от того, были ли вы вне лечения.
if [ $IsServerStarted -eq 0 ]; then ...
Это просто проверяет, равна ли переменная нулю.Если это недопустимое целое число, это вызовет сообщение об ошибке.