Почему скрипт с sudo работает отлично, но не работает от рута? Как это возможно?
sudo - выполнить команду от имени другого пользователя
но при этом переменные окружения рута накладываются на текущие.
Если же залогиниться под рутом, возможно у вас не хватает чего-то в PATH или еще в какой-то нужной переменной.
Ну вам правильно написали, предоставьте скрипт будет проще разобраться.
Я не телепат но попробую вам помочь.
Начните свой скрипт так.
#!/bin/bash
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin