.sh nach abarbeiten der Befehle loeschen

fremd

Registered User
Guten abend

ich habe mir eine kleine SH geschrieben die ein paar Befehle abarbeitet. Geht soweit wunderbar.

Kann ich es realisieren dass die sh irgendwie nach abarbeiten der Befehle geloescht wird? Wenn ja wie??


Uli
 
Du kanns einfach folgenden Code ans Ende deines Skriptes schreiben.
Code:
rm ${0}
 
Hallo,

da ich mir kaum vorstellen kann, dass man sowas für normale Zwecke benötigt, bitte ich darum das dieses Thema entweder ausführlicher (Offenlegung des Scripts) oder gar nicht fortgeführt wird.

Vielen Dank für das Verständniss.


P.S.: Ich lasse mich gerne eines besseren belehren was meine Meinung betrifft, deshalb der Vorschlag mit der Offenlegung des Scripts.
 
Last edited by a moderator:
Guten morgen

das Script macht nix anderes wie einen Ordner eines Mitarbeiters zu loeschen. Also ein reines /rm -R ORDNER


Uli
 
Guten Morgen fremd,

also als Aussenstehender wirkt dein Vorhaben schon ein wenig seltsam...

Denn wieso sollte ein Script ausgeführt werden und anschließend gelöscht werden, wenn es nichts zu verheimlichen/zu verstecken gibt?

Also ich sehe keinen direkten Sinn darin, dass man einen Ordner via Script löscht und dieses dann löscht...

Daher denke ich war mit
[...]Offenlegung des Scripts[...]
eher soetwas gemeint, wie, dass du das komplette Script mal postest, oder aber noch ein wenig detailierter auf dein Vorhaben eingehst, denn so ensteht schnell der Eindruck, dass es nicht ganz mit rechten Dingen zu geht und, dass das Script eher schadhaft sein soll und sich daher anschließend selbstverstören 'muss'.

Es ist in keinster Weise ein Vorwurf oder Ähnliches, nur damit du diesen 'Verdacht' oder besser gesagt 'Schein' richtig stellen kannst hat V40 den Thread auch noch nicht geschlossen ;)

Es gibt mit Sicherheit eine einfache Erklärung zu deinem Vorhaben.

Mit lieben Grüßen
Free
 
Hallo und guten morgen

ganz einfach: Es gibt ein Dir auf nem Server auf den Mitarbeiter Zugriff haben. Mitarbeiter a zieht zur ausgemachten Zeit seine Unterlagen die er braucht. Danach Soll der Ordner einfach geloescht werden.

Deswegen dieses Script und das loeschen des Scripts ist deswegen gewuenscht, damit es spaeter wenn andere Dokumente drinliegen nicht ausversehen nochmals benutzt wird.

Mag sein dass ich falsch bzw in die falsche Richtung denke nur so war mein Grundgedanke


Uli
 
Last edited by a moderator:
Hallo fremd,

ich kann dir zwar nciht zu 100% folgen, da ich
und das loeschen des Scripts ist deswegen gewuenscht, damit es spaeter wenn andere Dokumente drinliegen nicht ausversehen nochmals benutzt wird.
So verstehe:
Das Script wird gelöscht, damit der User es nicht ausversehen ausführt, wenn er Dokumente auf dem Server 'benutzt'.

Würde bedeuten, dass der User entweder noch auf einen 2. Ordner Zugriff hat, oder aber der Satz hier unlogisch wird, da das Script sich in dem Ordner des Users befindet, welcher gelöscht wird :confused:

Ich lasse es mal so stehen, und danke dir für deine Ausführung, welche in gewissem Sinne plausibel ist, auch wenn ich den einen Punkt nicht ganz nachvollziehen kann.

Alternativ könnte ich dir noch empfehlen, dass du das Löchen per Cron ausführen lässt, dann brauchst du das Script nicht.

Mit lieben Grüßen
Free
 
also das Script liegt natuerlich nicht im Bereich des Users fuer den Mitarbeiter. Auf dem Server befinden sich mehrere Ordner mit Preislisten. Alte sollen dann durch das Script geloescht werden. Der User hat Zugriff auf mehrere Ordner. Und das Script soll deswegen geloescht werden damit wenn ein neuer Ordner der gleich heisst wie der erste nicht durch das Script nochmals geloescht wird deswegen das zerstoeren.

Ich sag ja mag sein dass ich einfach nur zu kompliziert denke. Ich werde das auch glaueb ich einfacher loesen und manuell loeschen.



Uli
 
Last edited by a moderator:
Hallo fremd,

da ich gerade schon auf dem Sprung zur Haustür bin kann ich dir jetzt kein Sample coden, aber gerne heute Nachmittag...

Du könntest es nämlich auch so lösen, dass du ein Script haste, sagen wir
'delete.sh' und dieses einen Parameter übergeben muss.
Also z.B.
Code:
./delete.sh listen_06
Dies würde dann den Ordner 'listen_06' löschen.

Das ist wirklich einfach zu realisieren und man hat dann nur ein Script, dass man für alle Ordner benutzen kann ;)

Bei Interesse mache ich das dann heute Nachmittag, wenn nicht bisdahin, schon jmd, anderes sich 'die Mühe' gemacht hat.

Lieben Gruß
Free
 
das waer natuerlich auch eine Loesung. Ich waere dir sehr dankbar wenn du da was erstellen wuerdest. Ich hoffe ich habe durch meine doofe Frage nicht all zu viel unruhe angestiftet ^^



Uli
 
Hallo und guten Morgen,

also mir reicht das um das Thema ganz einfach weiter laufen zu lassen.
Ich hatte einfach nur ein befürchtung, wie auch andere User, das es dabei darum geht etwas Schadhaftes zu machen.

Ach ja, kein Sorge fremd, du hast keine Unruhe gestiftet :)
 
Hallo fremd,

Ich hoffe ich habe durch meine doofe Frage nicht all zu viel unruhe angestiftet ^^
Selbstverständlich hast du keine Unruhe geschafften und deine Frage war auch nicht doof...

Nur man sollte sich angewöhnen nach dem Ziel zu fragen und nicht nach dem Weg...

Wenn man etwas gut durchdacht hat und dann sagt: 'Ich möchte xyz und habe mir überlegt es abc zu lösen!'
Dann ist es deutlich einfacher zu helfen, da man weiß, was der Andere am Ende gerne hätte.

Ich habe also mal dieses wirklich sehr simple Script geschrieben:
Code:
#!/bin/bash

if [ -n "$1" ]; then
        rm -R $1
else
        echo "Nutzung:  $0 <directory>"
        exit 1
fi

exit 0
Einfach in eine Datei (z.B. delete.sh) packen und mit CHMOD ausführbar machen.

Danach kann es mit:
'./delete.sh /home/dieses/dir/bitte/löschen'
ausgeführt werden.
Man kann ebenso Dateien löschen und den Pfad relativ statt absolut angeben.
z.B.
'./delete.sh test' würde das Verzeichnis/die Datei 'test' in dem aktuellen Dir löschen (also in dem, in dem sich 'delete.sh' befindet.

Bitte darauf achten, dass es auch Subdirectories und Dateien löscht.
Man sollte das Script niemals aufrufen, wenn man nicht weiß, was man eingibt, denn ein . ein / und eine ~ unterscheiden sich doch schon sehr.
Somit wäre './delete.sh /' fatal.

Ich hoffe mal, dass ich dir ein wenig helfen konnte.

Lieben Gruß
Free
 
Back
Top