it-swarm.com.de

Führen Sie ein Shell-Skript im neuen Terminal vom aktuellen Terminal aus

Wie kann man ein Shell-Skript in einem neuen Terminal in Linux von einem Terminal wie "start test.bat" in Windows ausführen, sollte es auch im Konsolenmodus funktionieren.

22
mreaevnia

Hier ist ein einfaches Beispiel, um Ihnen den Einstieg zu erleichtern:

So schreiben Sie ein Shell-Skript in der Eingabeaufforderung:

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

Dies schreibt:

#!/bin/sh
echo "hello world"

In eine Datei namens abc.sh

Als nächstes möchten Sie es auf ausführbar setzen durch:

chmod +x abc.sh

Jetzt können Sie es folgendermaßen ausführen:

./abc.sh

Und du solltest sehen:

hello world

Auf Ihrem Terminal.

Um es in einem neuen Terminal auszuführen, haben Sie folgende Möglichkeiten:

gnome-terminal -x ./abc.sh

oder, wenn es xterm ist:

xterm -e ./abc.sh

Hier ist ein Liste verschiedener Terminalemulatoren .

Alternativ können Sie es auch einfach in Ihrem aktuellen Terminal ausführen, aber stattdessen mit folgendem Befehl im Hintergrund ausführen:

./abc.sh &
22
sampson-chen

Ich bin hierher gekommen, um herauszufinden, wie man ein Skript zu einem Terminal macht und es selbst ausführt. Für diejenigen, die das wollen, habe ich diese Lösung gefunden:

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

Für Gnome versuchen Sie dies.

Ersetzen Sie ls durch den Befehl, den Sie ausführen möchten

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

Ich hoffe das ist was du willst

4
knightrider