web-dev-qa-db-fra.com

Ouvrez le terminal et lancez la commande en ligne de commande

Je cherche un moyen de lancer une session de terminal à partir de la ligne de commande sur Ubuntu, par exemple:

#/usr/bin/env bash

terminal -c 'node server.js'

s'il existe un outil multiplateforme qui fonctionne également sur MacOS, ce serait Nice.

Alors j'ai essayé ceci:

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

et j'ai eu ceci:

enter image description here

Et quand j'essaye ceci:

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

rien ne se passe, le gnome-terminal ne s'ouvre jamais.

1
Alexander Mills

Votre commande initiale, gnome-terminal -- 'echo "foo" | bash', tente d'exécuter un programme nommé littéralement echo␣"foo"␣|␣bash, que vous n'avez probablement pas sur votre système.

La syntaxe correcte serait gnome-terminal -- sh -c 'echo "foo" | bash', mais cela ne vous aiderait pas, sauf si vous avez un exécutable nommé foo. Vous pouvez voir que la syntaxe est correcte en essayant

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

Mais c’est une façon très compliquée de dire

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

Quant à la commande prévue, elle devrait probablement être

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