В оболочке (включая bash) &&
означает логическое И.Параметры &&
могут быть командами, которые будут оцениваться в соответствии с их возвращаемым значением - возвращаемое значение 0 означает успех (true), сбой других значений (false).
Так в C / C ++смысл это наоборот (в C / C ++ и его ilk 0 = false, other = true), но с точки зрения оболочки это не так (success = true, fail = false)
ОБНОВЛЕНИЕ: изменение объяснения на основекомментарий, что &&
не обязательно включает в себя выполнение команд