ruby-on-rails - 打开一个新的终端选项卡并在里面运行命令,只有在打开选项卡之后

标签 ruby-on-rails linux shell terminal tabs

我正在尝试创建一个脚本以在我的 Rails 项目中打开一个新选项卡并在该选项卡中运行 rails s,以启动我的服务器。

我的命令:

xfce4-terminal --tab --title="rails server" --working-directory="Documents/projects/rails_blog" --command="bash -c 'rails s';bash"

新标签页在正确的目录打开。
但我总是得到这个错误:
bash:rails:找不到命令

我认为 rails s 在打开新选项卡之前正在运行

--command 标签只需要 bash 命令。我不知道

这是为什么呢?我该如何解决这个问题?

我已经尝试了以下所有这些答案:
from superuser
stackoverflow - Open a new tab in gnome-terminal using command line
from stackexchange
from ask ubuntu - Open Terminal with multiple tabs and execute application
from ask ubuntu - How to open several Terminal Tabs in different folders (working directories)?

最佳答案

以下技术适用于较新的 gnome 终端。

(1) 这将打开一个新的终端窗口并执行“ls” 并打开终端窗口

gnome-terminal --title=newWindow \\
               -- bash -c "ls; bash"

(2) 这将在当前 gnome 终端中打开一个新选项卡 并在该选项卡中执行“ls”。

gnome-terminal --tab --title=newTab \\
               -- bash -c "ls ;bash"

以上技术适用于 GNOME 终端 3.28.2 使用 VTE 0.52.2 +GNUTLS -PCRE2 请注意旧的 gnome-terminal 选项 -e --command 和 -x 在未来的版本中将被弃用。

在 gnome-terminal 之后执行命令的首选方式 被打开是为了让命令在 最后一个空 -- 选项。在上面的例子中我们执行 bash command 依次接受一组在该 shell 中执行的命令。第一个选项中需要结尾的 bash,否则窗口/选项卡将关闭。

希望这对您有所帮助。

关于ruby-on-rails - 打开一个新的终端选项卡并在里面运行命令,只有在打开选项卡之后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52498349/

相关文章:

linux - 我怎样才能*仅*获得 bash 中磁盘上的可用字节数?

ruby-on-rails - 使用线程时处理 Rails 中的循环依赖

ruby-on-rails - 在Rails中,我可以将 View 放在 'vendor'目录中吗?

java - 在 windows 中创建的 tar.gz 无法在 linux 下正确解压 - ArchiverFactory/org.rauschig.jarchivelib.Archiver

vba - 将 VBA 中执行的 Shell 命令的输出通过管道传送到特定 Shell

shell - 在 Jenkins 中,Execute Shell 如何/何时将构建标记为失败?

ruby-on-rails - 检索 jbuilder 部分返回 'nil' 中的对象,除非它被包装在数组中

sql - rails : selecting columns from multiple tables

linux - 如何在不解压缩的情况下查找 bzip2 存档中的文件大小?

linux - 读取文件 "$"数据和 bash 脚本