Skript ausführen und danach im Terminal bleiben...

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
jedie
Beiträge: 36
Registriert: 18.10.2010 14:49:36

Skript ausführen und danach im Terminal bleiben...

Beitrag von jedie » 19.10.2010 09:13:17

Ich hab einige kleine Skript, wie z.B. das hier:

Code: Alles auswählen

#!/bin/bash

function verbose_eval {
    echo
    echo "____________________________________________________________________"
    echo $*
    echo " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -"
    eval $*
    echo "--------------------------------------------------------------------"
    echo
}

verbose_eval nmap -e eth0 -sP 192.168.1.0/24

echo
echo 'ENTER'
read ENTER
Wenn ich es benutzte klicke ich die .sh Datei in Nautilus einfach an und sage "Im Terminal ausführen"... (Ich mache mir dazu also nicht extra einen "Starter", das wäre mir zu viel Arbeit ;) )

Zwei Fragen dazu:

1.Gibt es für function verbose_eval was einfacheres? Also sowas wie echo on unter windoof?

2.Wie kann man erreichen, das man am Ende von nmap (bzw. am ende vom Skript) im Terminal bleibt. Man also an der stelle direkt in gnome-terminal weiter arbeiten kann???

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: Skript ausführen und danach im Terminal bleiben...

Beitrag von gms » 19.10.2010 21:17:29

jedie hat geschrieben:Also sowas wie echo on unter windoof?
dafür gibt es die xtrace Option ( siehe "set -x" ):

Code: Alles auswählen

gms@sirius ~ $ cat x.sh 
#!/bin/sh
set -x
who am i
gms@sirius ~ $ bash x.sh
+ who am i
gms      pts/2        2010-10-19 18:29 (:0)
jedie hat geschrieben: 2.Wie kann man erreichen, das man am Ende von nmap (bzw. am ende vom Skript) im Terminal bleibt. Man also an der stelle direkt in gnome-terminal weiter arbeiten kann???
z.B eine neue Shell aufrufen

Code: Alles auswählen

#!/bin/sh
set -x
who am i
bash -i
Gruß
gms

jedie
Beiträge: 36
Registriert: 18.10.2010 14:49:36

Re: Skript ausführen und danach im Terminal bleiben...

Beitrag von jedie » 20.10.2010 08:15:57

Super! :THX:

Gibt es auch was entsprechendes für "@echo off" ?

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: Skript ausführen und danach im Terminal bleiben...

Beitrag von gms » 20.10.2010 09:19:36

jedie hat geschrieben: Gibt es auch was entsprechendes für "@echo off" ?

Code: Alles auswählen

set +x

jedie
Beiträge: 36
Registriert: 18.10.2010 14:49:36

Re: Skript ausführen und danach im Terminal bleiben...

Beitrag von jedie » 20.10.2010 09:54:03

Danke! Aber noch eine Frage: kann man die Ausgabe von "set +x" noch unterdrücken?

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: Skript ausführen und danach im Terminal bleiben...

Beitrag von gms » 20.10.2010 11:08:45

jedie hat geschrieben:Danke! Aber noch eine Frage: kann man die Ausgabe von "set +x" noch unterdrücken?
die Ausgabe wird von der ausführenden Shell erledigt, daher sehe ich hier keine Möglichkeit

allerdings könntest du das "set +x" umgehen: wenn du das "set -x" in einer Subshell ausführst, wird xtrace auch nur für diese Subshell gesetzt, z.B:

Code: Alles auswählen

gms2 ~ # cat x.sh
#!/bin/sh

( 
  set -x
  who am i
)
echo end
gms2 ~ # bash x.sh 
+ who am i
root     pts/5        2010-10-20 06:37 (:1000)
end

jedie
Beiträge: 36
Registriert: 18.10.2010 14:49:36

Re: Skript ausführen und danach im Terminal bleiben...

Beitrag von jedie » 20.10.2010 15:12:07

Das scheint zu funktionieren. Danke nochmals!

Antworten