Я пытаюсь заставить команду выполняться из моего интерфейса MythTV на компьютере Mythbuntu.
Когда я пробую тестовую команду, touch /home/mythbuntu/test
, это не работает, и я вижу эту запись в /var/log/mythtv/mythbackend.log
:
Jul 19 14:29:35 mythbuntu mythbackend[1863]: W SystemEvent mythsystemevent.cpp:55 (run) MythSystemEventHandler: Command 'touch /home/mythbuntu/test' returned 1
Я принимаю returned 1
означает некоторое ошибочное состояние, но поиск Google не привел ни к чему, что я мог понять.
Что делает returned 1
средний, и что это говорит мне о команде, которую я пытаюсь выполнить?
Его нет в справочной странице Ubuntu для touch
, но exit status
для touch
:
Таким образом, 1
- это количество раз, когда touch
не удалось выполнить. Скорее всего, вы не используете правильного пользователя или группу для выдачи этой команды, поэтому проверьте пользовательские и групповые разрешения для файла, который вы пытаетесь изменить с помощью
ls -l /home/mythbuntu/test
Если это пользователь: group mythtv: mythtv you необходимо добавить вашего пользователя в группу mythtv для touch
для работы.
Как показывает источник mythsystemevent.cpp , серверная часть MythTV покорно возвращает фактический код выхода команды, если он не равен нулю:
if (result != GENERIC_EXIT_OK) LOG(VB_GENERAL, LOG_WARNING, LOC + QString("Command '%1' returned %2") .arg(m_command).arg(result));
returned 1
сообщает, что произошла ошибка: команда, которую вы пытались выполнить, не выполнена с кодом выхода 1 touch
говорит вам, чтобы вы запустили info coreutils 'touch invocation'
для полного руководства, которое, в свою очередь, завершается с Нулевое состояние выхода указывает на успех, а ненулевое значение указывает на сбой.