fuser im shellscript

P

Phillip

Jungspund
Hallo,

ich möchte gerne eine datei per shellscript verschieben und muss vorher prüfen ob ich die Datei im exclusiven zugriff habe.

habe mir dafür ein nettes shell script geschrieben:

Code:
#!/bin/ksh
DATEI=/etc/dyn/x/$1
if [ -f $DATEI ] 
then
if [ fuser -s $DATEI -eq 0 ]
then
mv $DATEI $DATEI$$
ftp -in 192.168.134.232 <<EOF
quote USER x
quote PASS x	
binary	
put $DATEI$$ $$	
quit	
EOF	
rm $DATEI$$
fi
fi


jetzt habe ich nur ein problem:

der sacht mir immer
/etc/scripts/x.sh: line 6: [: too many arguments

kann mir wer sagen wieso das nicht geht?

Gruß
Phillip
 
Ich kenn die ksh nicht, aber versuch mal die Kommandosubstitition:
Code:
if [ [COLOR="Red"]`[/COLOR]fuser -s $DATEI[COLOR="Red"]`[/COLOR] -eq 0 ]
oder
Code:
if [ [COLOR="Red"]$([/COLOR]fuser -s $DATEI[COLOR="Red"])[/COLOR] -eq 0 ]
 
Was ich ein wenig seltsam finde ist dein fuser-Argument? Arbeitest du unter Solaris? Weil bei fuser unter Solaris - unter Linux kenne ichs nicht - ist das Argument "-s" um allen auf eine Datei zugreifenden Prozesse ein Signal zu senden (um es beispielsweise zu beenden).

Zudem musst du unterscheiden, ob du nach einem Returncode oder nach dem Text beurteilst. Ein [ `true` ] ist etwas anderes, als ein [ `true` -eq 0 ].

Gruess
Joel
 
Was ich ein wenig seltsam finde ist dein fuser-Argument? Arbeitest du unter Solaris? Weil bei fuser unter Solaris - unter Linux kenne ichs nicht - ist das Argument "-s" um allen auf eine Datei zugreifenden Prozesse ein Signal zu senden (um es beispielsweise zu beenden).

Zudem musst du unterscheiden, ob du nach einem Returncode oder nach dem Text beurteilst. Ein [ `true` ] ist etwas anderes, als ein [ `true` -eq 0 ].

Gruess
Joel

Ne Arbeite unter AIX
hab mit fuser jetzt allle möglichkeiten durch probiert...

gibt es eine andere möglichkeit zu prüfen ob ich exclusiven zugriff auf die datei habe?

Gruß
Phillip

So Problem Gelöst,
nutze stat fuser lsof und leite die ausgabe in einen tmp file um.
wenn exclusiver zugriff ist die datei leer und ich kann die datei verschieben...

Gruß und Dank
Phillip
 
Zuletzt bearbeitet:

Ähnliche Themen

Queue für copy Script

GUbutnu 14.04 LTS DualMonitor-Mode: Ubuntu merkt sich die Bildschirmpositionen nicht

skript zum löschen doppelter dateien

Samba 4 Gast Zugang unter Ubuntu funktioniert nicht

dovecot und postfix Konfiguration Problem

Zurück
Oben