before *.sh have a logic problem: && || and tac replace start end