Bloß mit mir, da ich neu im flock
Tool bin und, soweit ich weiß, keine Dateideskriptoren verwendet habe.
Ich habe ein Bash-Skript, das eine cURL-Anforderung erstellt und die Ausgabe in eine Datei mit dem Namen schreibt resp.txt
. Ich muss eine exklusive Sperre erstellen, damit ich in diese Datei schreiben und mich nicht darum kümmern kann, dass mehrere Benutzer gleichzeitig das Skript ausführen und die Textdatei bearbeiten.
Hier ist der Code, von dem ich erwarte, dass er die Datei sperrt, die Anforderung ausführt und in die Textdatei schreibt:
(
flock -e 200
curl 'someurl' -H 'someHeader' > resp.txt
) 200>/home/user/ITS/resp.txt
Ist das die richtige Vorgehensweise? Mein eigentliches Skript ist etwas länger als dieses, aber es scheint zu brechen, wenn ich die flock
Syntax zum Bash-Skript hinzufüge .
Wenn jemand erklären könnte, wie diese Dateideskriptoren funktionieren, und wenn ich die Datei richtig sperre, wäre das großartig!
flock
funktioniert? Ich bin neu in den Dateideskriptoren: /curl
kann immer noch in die Datei schreiben. Beachten Sie, dass dies mit NFS möglicherweise unsicher ist (oder sogar nicht funktioniert), aber kein Shell-Skript für die Dateisperrung über NFS verwendet. Mitbash
können Sie die Datei auch zum Lesen und Schreiben öffnen.200<> resp.txt
Dies sollte jedoch nichts ändern.