web-dev-qa-db-ja.com

ターミナルを開き、コマンドラインからコマンドを実行します

Ubuntuのコマンドラインからターミナルセッションを起動する方法を探しています。次のようなものです。

#/usr/bin/env bash

terminal -c 'node server.js'

macOSでも動作するクロスプラットフォームツールがあれば、それはいいでしょう。

だから私はこれを試しました:

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

そして私はこれを手に入れました:

enter image description here

そして、私がこれを試してみると:

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

何も起こりません。gnome-terminalは開きません。

1
Alexander Mills

最初のコマンド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'
2
AlexP