web-dev-qa-db-fra.com

Exécuter un script Shell dans un nouveau terminal à partir du terminal actuel

Comment exécuter un script Shell dans un nouveau terminal sous Linux à partir d'un terminal comme "start test.bat" sous Windows, il devrait également fonctionner en mode console.

22
mreaevnia

Voici un exemple simple pour vous aider à démarrer:

Pour écrire un script Shell, faites-le sur votre invite de commande:

echo -e '#!/bin/sh\n echo "hello world"' > abc.sh

Cela écrit:

#!/bin/sh
echo "hello world"

Vers un fichier appelé abc.sh

Ensuite, vous voulez le définir sur exécutable en:

chmod +x abc.sh

Maintenant, vous pouvez l'exécuter par:

./abc.sh

Et vous devriez voir:

hello world

Sur votre terminal.

Pour l'exécuter dans un nouveau terminal, vous pouvez faire:

gnome-terminal -x ./abc.sh

ou, si c'est xterm:

xterm -e ./abc.sh

Voici une liste des différents émulateurs de terminaux .

Alternativement, vous l'exécutez simplement dans votre terminal actuel, mais en arrière-plan à la place:

./abc.sh &
22
sampson-chen

Je suis venu ici pour comprendre comment faire en sorte qu'un script génère un terminal et l'exécute lui-même, donc pour ceux qui veulent le faire, j'ai trouvé cette solution:

if [ ! -t 0 ]; then # script is executed outside the terminal?
  # execute the script inside a terminal window
  x-terminal-emulator -e "$0"
  # and abort running the rest of it
  exit 0
fi

Pour gnome, essayez ceci.

Remplacez ls par la commande que vous souhaitez exécuter

gnome-terminal -x sh -c "ls|less"

J'espère que c'est ce que tu veux

4
knightrider