Archiv verlassen und diese Seite im Standarddesign anzeigen : Shell Script Nachhilfe...
tobiasbeil
12.05.05, 11:41
hi all,
ich will nur mal wissen wie man in nem shell script
ein anderes shell script insoweit manipulieren und ändern
kann, als dass man die letzte zeile löscht, um dann zwei
weitere zeilen hinzuzufügen.
also, ich will ein script, das vom "einanderesscript.sh" =
#!/bin/bash
bla bla
exit 0
wie hier abgebildet die letzte zeile "exit 0" löscht, damit ich
"echo noch ein befehl dazwischen schieben >> einanderesscript.sh"
"echo exit 0 >> einanderesscript.sh"
zwischenrein schreiben kann.
denn, ich will per script das script "einanderesscript.sh" um einen befehl erweitern,
damit "einanderescript.sh" am ende so aussieht:
#!/bin/bash
bla bla
noch ein befehl dazwischen schieben
exit 0
das muss doch irgendwie mit cat oder grep oder kombination gehen ?
Danke im vorraus.
Die letzte Zeile wirst du z.B. mit "head" los.
Oder mit "egrep -v '$exit 0'" (-v kejhrt grep um = nur die Zeilen, die Ausdruck NICHT enhalten).
Und dann per ">>" die Zusatzzeilen anhängen.
Oder Du nimmst sed und tauschst "exit 0" gegen "blabla2 \nexit0" aus.
Greetz
Thomas
tobiasbeil
12.05.05, 13:02
danke.
bei mir funktionierts aber ohne Dollarzeichen, also
"egrep -v 'exit 0' einanderesscript.sh"
"echo etc pp >> einanderesscript.sh"
...
:)
tobiasbeil
13.05.05, 13:29
hi junx,
mein ftp script läuft nun, aber ich habe es per ssh rüberkopiert
und gestartet. und anscheinend hat der server den script-prozess
terminiert sowie ich PuTTy beendet habe.
Ich logge mich aber fast immer von meinem Thinkpad mit ssh an
den server, da ich kein bock habe mir im serverraum den arsch
abzufrieren (zu gut klimatisiert, zu laut).
wie stell ich das denn ein dass der/ein prozess den ich starte
im hintergrund läuft und erst bei voller abarbeitung terminiert
und nicht schon bei trennung der ssh verbindung.
es hängt mit den terminals oder den pty's zusammen, aber ich
weiss nicht wie ichs verhindern/umgehen kann.
ich habe neben dem putty auch das cygwin ssh drauf,
falls spezielle parameter gebraucht werden.
Danke im vorraus.
danke.
bei mir funktionierts aber ohne Dollarzeichen, also
"egrep -v 'exit 0' einanderesscript.sh"
"echo etc pp >> einanderesscript.sh"
...
:)
OOps, wollte schriebn "^exit 0", "^" für Zeilenanfang, "$" ist Zeilenende :o
wie stell ich das denn ein dass der/ein prozess den ich starte
im hintergrund läuft und erst bei voller abarbeitung terminiert
und nicht schon bei trennung der ssh verbindung.Blaettere mal durch "man nohup" bzw. "man screen", wobei ich letzteres empfehlen wuerde.
Gruss Pit.
tobiasbeil
13.05.05, 14:19
Blaettere mal durch "man nohup" bzw. "man screen", wobei ich letzteres empfehlen wuerde.
Gruss Pit.
ich kenne screen, habe es in erwägung gezogen,
aber das gibt es nicht auf der AIX maschine ;)
leider wird screen nicht einmal per "Linux Toolbox for AIX" mitinstalliert.
probiere nohup aus....
danke.
Reicht es nicht wenn man einfach "befehl &" ausführt? So schiebt man doch einen Prozess in den HIntergrund.
Hi!
Reicht es nicht wenn man einfach "befehl &" ausführt? So schiebt man doch einen Prozess in den HIntergrund.
Nicht, wenn z.B. die Shell beim Logout ein SIGHUP an alle gestarteten Prozesse schickt. ;)
Gruß
fuffy
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.