shell skript zur abfrage eines pfades

X

xmarcusx

Mitglied
hallo gurus!

ich benötige ein skript, dass einen pfad durch einen terminal abfragt und anschließend als variable an clamav weitergibt.

dieser befehl soll ausgeführt werden:

#!/bin/bash
exec clamscan --quiet --bell -i --log=/home/user/scan.log -r $pfad

die variable $pfad soll durch einen terminal abgefragt werden.

kann mir jemand helfen? thannx!!
 
Wie soll die Variable abgefragt werden?
Durch Übergabe?


Aufruf wäre jetzt "./Skript PFAD"
Code:
#!/bin/bash
exec clamscan --quiet --bell -i --log=/home/user/scan.log -r $1
 
ich führe das skript in einem bestehenden terminal aus (bspw. xterm). dann soll der pfad abgefragt werden (in diesem terminal) und clamav soll schließlich in diesem den scan durchführen. wie bspw beim flash-installer (abfrage nach einem pfad). thannxx.
 
Zuletzt bearbeitet:
Teilsweise unsinnig.
Weil wo rufst du das Skript auf?

Ansonsten musst mit "read" arbeiten.
Code:
#!/bin/bash
echo -n "enter path: "
read PFAD
exec clamscan --quiet --bell -i --log=/home/user/scan.log -r $PFAD
 
Zuletzt bearbeitet:
danke.... das ist perfekt!

könnte man jetzt noch nach dem scan die datei "scan.log" auf dem terminal ausgeben?

dann wäre die lösung suuuuupppeerr!
 
Zuletzt bearbeitet:
Code:
#!/bin/bash
echo -n "enter path: "
read PFAD
clamscan --quiet --bell -i --log=/home/user/scan.log -r $PFAD
less scan.log
 
okay mach es lieber so:
Code:
#!/bin/bash
echo -n "enter path: "
read PFAD
clamscan --quiet --bell -i --log=/home/user/scan.log -r $PFAD
tail -f scan.log
gibt es noch die möglichkeit das skript nach

Code:
tail -f scan.log

zu beenden (nicht durch strg+c)?

danke!!!!!!!!
 
Zuletzt bearbeitet:
Also.
tail -f listet die fortwährend das auf, was in die Datei reingeschrieben wird.
Da der Befehl aber erst nach dem Scanlauf abgesetzt wird, siehste halt nur die letzen paar Zeilen.
Wenn du less verwendest, wäre es 'q' für quit.

Oder du schaltest einfach den Rechner aus!
 
okay habe es so hinbekommen. danke noch mal für deine hilfe!!!!

Code:
#!/bin/bash
echo -n "enter path: "
read PFAD
clamscan --quiet --bell -i --log=/home/user/scan.log -r $PFAD
tail -f scan.log &
sleep 1
pid=$(ps ax| grep "tail -f scan.log" |grep -v grep|awk '{print $1;}')
kill -9 $pid
 
Zuletzt bearbeitet:
Was zur Hölle machst du da eigentlich so kompliziert?
Warum schauste das nicht mit less an und beendest es dann normal?
 
Mach doch aus deinem
Code:
tail -f scan.log
ein
Code:
tail -n 20 scan.log
Dann musst du die Pid nicht abschießen.
 
@Bierhasser

danke! jetzt habe ich viel gelernt! ;-)
 

Ähnliche Themen

HandbrakeCLI Shell Skript

Wie komme ich an den Inhalt des Inhalts einer Variable?

Shell-Skript nicht doppelt starten

Samba 4 Gast Zugang unter Ubuntu funktioniert nicht

Problem mit HSPA+ Modem Huawei E353 - Installation unmöglich?

Zurück
Oben