首页 > 解决方案 > 如何在 ruby​​ rails 上打印 shell 命令?

问题描述

我想从命令中显示输出退出。

在我的 index.html.erb 上

<%= system("ls /home/username/") %>

可以帮我?我是 ruby​​ 和 rails 的新手

标签: ruby-on-railsshell

解决方案


在生产环境中从工作人员和作业队列运行这样的命令时,要考虑很多事情,以验证将运行命令的机器可以运行它并解析响应。这种类型的事情应该通过延迟工作中的模型来完成......但如果你只是想让它工作并且不关心任何这些,那就做

<%= `ls home/username/` %>

这将为您提供运行命令的结果。问题是system只返回 3 个可能值之一,true false或者nil执行的输出被写入 std_out。

要获取您运行的命令的退出代码,您可以执行以下操作:

<%= system("ls /home/username/"); $? %>

这将打印运行 ls 命令的 pid 和退出状态值。


推荐阅读