ваши аргументы не повод не использовать мой вариант. не сохраняйте туда пустые значения и всё будет хорошо.
if (empty($arr[$id])) {
$arr[$id] = $id;
}
if (!in_array($id, $arr)) {
$arr[] = $id;
}
эта функция медленнее чем проверка в массиве по ключу через isset или empty
Потому что внутри бубунта - это дебиан :)
вы передаете в bash как параметр /bin/bash, т.е. бинарный файл, а он ожидает скрипт. Сложно сказать как вы этого добились, но лучше пропишите точный путь до bash:
*/2 * * * * /bin/bash /home/raspi/script.sh >> /tmp/script.log 2>&1
И как указано выше, внутри скрипта тоже укажите полные пути.