“命令返回 1”是什么意思?

“命令返回 1”是什么意思?

我正在尝试从 Mythbuntu 计算机上的 MythTV 界面中执行一个命令。

当我尝试测试命令时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意味着某种错误状态,但谷歌搜索并没有找到任何我能理解的结果。

这是什么returned 1意思?它告诉我有关我尝试运行的命令的什么信息?

答案1

它不在 Ubuntu 手册页中touchexit statusfortouch是:

  • 0 触摸实用程序已成功执行,并已完成所有请求的更改。
  • >0 发生错误。触摸实用程序返回了无法成功修改时间的文件数。

1就是执行失败的次数touch。很可能您没有使用正确的用户或组来发出此命令,因此请检查您尝试修改的文件的用户和组权限

ls -l /home/mythbuntu/test

如果是用户:组 mythtv:mythtv,则需要将您的用户添加到组 mythtv 才能touch工作。

答案2

  • 当出现问题时,命令通常会返回非零的退出代码。
  • 作为神话系统事件.cpp来源显示,如果命令的实际退出代码非零,MythTV 后端将忠实地返回该代码:

    如果(结果!= GENERIC_EXIT_OK)
    日志(VB_GENERAL,LOG_WARNING,LOC +
    QString("命令‘%1’返回%2")
    .arg(m_command)。arg(结果)(英文):
    
  • 因此returned 1告诉您有一个错误,您尝试运行的命令失败并显示退出代码1
  • 找出答案什么这意味着关于命令或失败的原因,您需要查看该命令的文档。
    • 例如,touch手册页会告诉您运行info coreutils 'touch invocation'完整手册,最后会以以下内容结尾:退出状态为零表示成功,非零值表示失败。
    • 有关更多详细信息,请参阅 Rinzwind 的回答。

相关内容