PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Nautilus-Script für Virencheck



tobias-schrader
21.04.03, 21:13
Ich möchte mit einem Nautilus Script den jeweils aktuellen Ordner auf Viren überprüfen (per Antivir). Leider haben alle Versuche bisher nicht zum Erfolg geführt (habe allerdings auch absolut keinen Plan vom Erstellen eines Scripts ;).

Das Script soll lediglich
1. Ein Terminal am entsprechenden Ort öffnen (dazu habe ich schon ein passendes Script gefunden)
2. Antivir ausführen (Befehl: antivir --allfiles -z -v ... )

Bei Nr. 2 liegt das Problem - wie führt man das über ein Script aus ?

dragon's might
21.04.03, 21:32
Original geschrieben von tobias-schrader
Bei Nr. 2 liegt das Problem - wie führt man das über ein Script aus ?


sollte eigentlich so gehen...


#!/bin/bash
exec befehl

Dann ausführbar machen

tobias-schrader
21.04.03, 23:16
Klappt irgendwie nicht. Habe das Terminal-here Script von GNOME genommen und die letzte Zeile hinzugefügt. Leider wird nur das Terminal geöffnet. Antivir wird nicht ausgeführt.


#!/bin/sh
base=`echo $NAUTILUS_SCRIPT_CURRENT_URI | cut -d'/' -f3-`
if [ -z "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" ]; then
dir=$base
else
while [ ! -z "$1" -a ! -d "$base/$1" ]; do shift; done
dir="$base/$1"
fi
gnome-terminal --working-directory="$dir"
exec antivir --allfiles -z -v -lang=DE

kth
21.04.03, 23:37
#!/bin/sh
base=`echo $NAUTILUS_SCRIPT_CURRENT_URI | cut -d'/' -f3-`
if [ -z "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" ]; then
dir=$base
else
while [ ! -z "$1" -a ! -d "$base/$1" ]; do shift; done
dir="$base/$1"
fi
gnome-terminal --working-directory="$dir" --execute antivir --allfiles -z -v -lang=DEFalls du gnome-terminal weitere Optionen übergeben möchtest, müssen diese links von --execute stehen. Alternativ kannst du den auszuführenden Befehl mitsamt Parametern über die Option --command="..." übergeben; dann gilt diese Einschränkung nicht.

tobias-schrader
22.04.03, 07:57
Spitze !!! Jetzt läuft es. Allerdings wird das Terminal nach dem Check so schnell geschlossen, dass man sich die entsprechende Meldung nicht durchlesen kann.

Gibt es eine Möglichkeit, das Terminal nach der Prüfung einfach offen zu lassen ?

dragon's might
22.04.03, 20:09
Original geschrieben von tobias-schrader

Gibt es eine Möglichkeit, das Terminal nach der Prüfung einfach offen zu lassen ?
vll. mit "&", bin mir aber nicht sicher...

kth
27.04.03, 01:29
Gibt es eine Möglichkeit, das Terminal nach der Prüfung einfach offen zu lassen ?Ich weiß nicht, ob du schon selbst auf eine Lösung gekommen bist. Du könntest dir beispielsweise ein Shell-Script mit folgendem Inhalt erstellen und dann im GNOME-Terminal ausführen lassen:
#!/bin/sh
antivir --allfiles -z -v -lang=DE
read
Der Bash-eigene Befehl read liest eine Zeile von der Standardeingabe, wartet also im Endeffekt auf das Drücken der Return/Enter-Taste.

tobias-schrader
01.05.03, 17:23
Sorry - war ein paar Tage abwesend.

Leider habe ich bislang noch immer keine Lösung gefunden. Das Fenster schließt sich sofort nach dem Check. Habe das mit dem Read-Befehl (in der letzten Zeile) und dem "&" ausprobiert - klappt beides nicht.

Noch einmal das Script :

#!/bin/sh
base=`echo $NAUTILUS_SCRIPT_CURRENT_URI | cut -d'/' -f3-`
if [ -z "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" ]; then
dir=$base
else
while [ ! -z "$1" -a ! -d "$base/$1" ]; do shift; done
dir="$base/$1"
fi
gnome-terminal --working-directory="$dir" --command="antivir --allfiles -z -v -lang=DE"

kth
01.05.03, 23:34
Das Fenster schließt sich sofort nach dem Check. Habe das mit dem Read-Befehl (in der letzten Zeile) und dem "&" ausprobiert - klappt beides nicht.Ich bin mir nicht sicher, ob du meinen Vorschlag richtig verstanden hast. ;)

Ich meinte einen GNOME-Terminal-Aufruf dieser Art im Nautilus-Script:
[...]
gnome-terminal --working-directory="$dir" --command="antivir-check"Und irgendwo in deinem $PATH liegt das Script antivir-check mit folgendem Inhalt:
#!/bin/sh
antivir --allfiles -z -v -lang=DE
read

tobias-schrader
02.05.03, 15:19
Super - genau das war es.

Vielen Dank !!!