Nekem is ez tűnt fel. El kell felejteni, hogy az egy if then else szerkezet, mert nem az. Konkrétan a || előtti utolsó összetett parancs státuszkódjától függ a futása (és nem a legelső parancs státuszától). És sajnos egy echo is adhat hibastátuszt (pl. ha logfájlba írunk és túllépnénk a kvótát, vagy az ulimitet; jogosultsági probléma, vagy épp FS-telítettség probléma lépne fel. Stb.)