@dZ0TFR, по поводу || и &&.
|| и && это классические логические операторы из большинства языков программирования. || логическое или - возвращает правду если хотя бы один из аргументов павда. && логическое и возвращает правду в случае когда оба аргумента правда.
Также эти операторы используются для возвращения аргументов, && возвращает второй аргумент если первый правда. || возвращает первый аргумент если он правда. Это классика программирования, для C, JS, C++,
В BASH своя специфика работа с процессами. И в BASH правда это отсутствие результата ошибки. Если в C, JS, C++ правда не 0, то в BASH правда 0 когда работаем с процессами.
Когда работаем с арифметикой то число представляется как процесс, и если число не 0, то оно возвращает 0 - т.е. ошибок нет. Эмулируется стандартное поведение через логику обработки результатов работы процессов.