Mailinglist Archive: opensuse-de (2226 mails)

< Previous Next >
Re: Bashscript: Gelöschte Dateien anzeigen
  • From: Al Bogner <suse-linux@xxxxxxxxxxxxxxxxxxxx>
  • Date: Wed, 28 Jun 2006 22:07:14 +0200
  • Message-id: <200606282207.14355.suse-linux@xxxxxxxxxxxxxxxxxxxx>
Am Mittwoch, 28. Juni 2006 17:54 schrieb David Haller:

Hallo David,

> Am Mit, 28 Jun 2006, Al Bogner schrieb:
> >Etwas Bauchweh habe ich mit dem Quoting. In diesem Fall kann garantiert
> >werden, dass keine Leerzeichen vorkommen. Wie müsste ich quoten, wenn das
> >Verzeichnis Leerzeichen enthält?
> >
> >Nochmals meine bereits o.a. Frage, wie erreiche ich eine Kontrollausgabe
> > beim Ablauf des Scripts?
> >
> >TEST_DIR="$MYDIR""/TEST_"`basename \`pwd\` | cut -c9-30`
> >find $MYDIR -type d -regex ".*$TEST_DIR.*" -print0 | xargs -r -0 rm -r
>
> pwd="`pwd`"
> TEST_DIR="${MYDIR}/TEST_`basename \"$pwd\" | cut -c9-30`"
> find "$MYDIR" ...
>
> Oder:
>
> TEST_DIR="${MYDIR}/TEST_$(basename $(pwd) | cut -c9-30)"
> find "$MYDIR" ...

Danke,

Wie könnte man noch absichern, dass die Variablen nicht leer sein dürfen, dass
also nicht als User ein rm -r / entstehen kann.

Die Variable $MYDIR wird beim Aufruf des Scripts übergeben. Ich lasse das
Script abbrechen, wenn kein Parameter übergeben wird bzw. das angegebene
Verzeichnis nicht existiert, bin mir aber unsicher, ob nicht doch irgendwie
eine Situationen entstehen könnte, sodass rm -r / entstehen kann, speziell
wenn Änderungen am Script vorgenommen werden und man dann bei Tests etwas
übersieht. Eine weitere Absicherung würde mich beruhigen ;-) Normalerweise
verwende ich bei rm in Scripts einen Teil, der nicht aus einer Variable
besteht. Das ist aber hier nicht möglich.

Al

--
Um die Liste abzubestellen, schicken Sie eine Mail an:
suse-linux-unsubscribe@xxxxxxxx
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: suse-linux-help@xxxxxxxx

< Previous Next >
References