fuser im shellscript

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Phillip, 29.11.2007.

  1. #1 Phillip, 29.11.2007
    Phillip

    Phillip Jungspund

    Dabei seit:
    29.11.2007
    Beiträge:
    10
    Zustimmungen:
    0
    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
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 z-shell, 29.11.2007
    z-shell

    z-shell Debianator

    Dabei seit:
    30.05.2007
    Beiträge:
    434
    Zustimmungen:
    0
    Ort:
    /home/z-shell
    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 ]
     
  4. tr0nix

    tr0nix der-mit-dem-tux-tanzt

    Dabei seit:
    11.07.2003
    Beiträge:
    1.585
    Zustimmungen:
    0
    Ort:
    Schweiz, Opfikon/Glattbrugg
    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
     
  5. #4 Phillip, 30.11.2007
    Zuletzt bearbeitet: 30.11.2007
    Phillip

    Phillip Jungspund

    Dabei seit:
    29.11.2007
    Beiträge:
    10
    Zustimmungen:
    0
    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
     
  6. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

fuser im shellscript

Die Seite wird geladen...

fuser im shellscript - Ähnliche Themen

  1. Shellscript für rotierende Datensicherung

    Shellscript für rotierende Datensicherung: Hallo, ich beschäftige mich erst seit ein paar Wochen mit der Shell und habe mich entschlossen meine ersten Scripterfahrungen in diesem kleinen...
  2. Shellscript unerwartetes Dateiende

    Shellscript unerwartetes Dateiende: Hallo zusammen, folgendes Script führe ich in einer .bat via cygwin und curl aus. Beim Ausführen erhalte ich die einen Syntaxfehler:...
  3. Einfaches Shellscript - dateinamen ändern

    Einfaches Shellscript - dateinamen ändern: Hey, kann mir jemand vielleicht bei diesem miniscript helfen? ich habe dateien die folgendermaßen aussehen MM-DD-YY-dateiname und...
  4. Variable aus ShellScript in Latexvorlage einfügen

    Variable aus ShellScript in Latexvorlage einfügen: Hallo, wie kann ich Variablen aus einem Shellscript an bestimmte Stellen in eine Vorlage einfügen. Sollte ich dafür spezielle Platzhalter in...
  5. Inhalt einer Variablen aus Batch an Shellscript übergeben

    Inhalt einer Variablen aus Batch an Shellscript übergeben: Hallo, ich komme einfach nicht drauf. Wie kann ich den Wert aus einer Variablen eines Batches an mein Shellscript übergeben? So? #...