Самое важное отличие состоит в том, что такие файлы, как .bashrc и т. Д. Не выполняются перед заданиями cron, поэтому многие переменные окружения, которые вы обычно имеете в командной строке, будут отсутствовать. Поэтому, если ваша программа не работает в задании cron, вставьте его в скрипт, который устанавливает все необходимые переменные окружения.
Что касается ввода и вывода, очевидно, что пользовательское взаимодействие для заданий cron отсутствует, поэтому программы не должны ожидать ввода (если они это делают, предоставлять его из входного файла или непосредственно в сценарии), а любые выходные данные должны перенаправляться файл журнала.