Soyez nu avec moi car je suis nouveau dans l' flock
outil et je n'ai pas utilisé de descripteurs de fichiers pour autant que je sache.
J'ai un script bash qui fait une demande cURL et écrit la sortie dans un fichier appelé resp.txt
. J'ai besoin de créer un verrou exclusif afin de pouvoir écrire dans ce fichier et ne pas m'inquiéter du fait que plusieurs utilisateurs exécutent le script et modifient le fichier texte en même temps.
Voici le code que je m'attends à verrouiller le fichier, effectuer la demande et écrire dans le fichier texte:
(
flock -e 200
curl 'someurl' -H 'someHeader' > resp.txt
) 200>/home/user/ITS/resp.txt
Est-ce la bonne façon de procéder? Mon script réel est un peu plus long que cela, mais il semble se casser lorsque j'ajoute la flock
syntaxe au script bash.
Si quelqu'un pouvait expliquer comment ces descripteurs de fichiers fonctionnent et faites-moi savoir si je verrouille correctement le fichier, ce serait génial!
flock
fonctionnement? Je suis nouveau dans les descripteurs de fichiers: /curl
peut toujours écrire dans le fichier. Notez que cela peut être dangereux (ou même ne pas fonctionner) avec NFS, mais n'utilisez pas de script shell pour le verrouillage de fichiers sur NFS. Avecbash
, vous pouvez également ouvrir le fichier en lecture et en écriture:200<> resp.txt
mais cela ne devrait rien changer.