打开终端并从命令行运行命令

打开终端并从命令行运行命令

我正在寻找一种从 Ubuntu 上的命令行启动终端会话的方法,如下所示:

#/usr/bin/env bash

terminal -c 'node server.js'

如果有一些跨平台工具也可以在 MacOS 上运行,那就太好了。

所以我尝试了这个:

gnome-terminal -- 'echo "foo" | bash'

我得到了这个:

在此处输入图片描述

当我尝试这个时:

gnome-terminal --tab -- echo 'ts-node /home/oleg/codes/typeaware/doc-gen/lang/typescript/api/src/.test/express.test.ts' | bash

什么也没有发生,gnome-terminal 从未打开。

答案1

您的初始命令gnome-terminal -- 'echo "foo" | bash'尝试运行一个名为 的程序echo␣"foo"␣|␣bash,但您的系统上很可能没有该程序。

正确的语法应该是gnome-terminal -- sh -c 'echo "foo" | bash',但这没有用,除非你真的有一个名为 的可执行文件foo。你可以尝试以下方法查看语法是否正确:

gnome-terminal -- sh -c 'echo "date; sleep 2" | bash'

但这只是一种非常复杂的说法

gnome-terminal -- bash -c 'date; sleep 2'

至于预期的命令,可能应该是

gnome-terminal --tab -- bash -c 'ts-node /home/oleg/codes/typeaware/doc-gen/lang/typescript/api/src/.test/express.test.ts'

相关内容