Telanjang dengan saya karena saya baru dengan flock
alat ini dan saya belum menggunakan deskriptor file sejauh yang saya tahu.
Saya memiliki skrip bash yang membuat permintaan CURL dan menulis output ke file bernama resp.txt
. Saya perlu membuat kunci eksklusif sehingga saya bisa menulis ke file itu dan tidak khawatir tentang beberapa pengguna yang menjalankan skrip dan mengedit file teks pada saat yang sama.
Berikut adalah kode yang saya harapkan untuk mengunci file, melakukan permintaan, dan menulis ke file teks:
(
flock -e 200
curl 'someurl' -H 'someHeader' > resp.txt
) 200>/home/user/ITS/resp.txt
Apakah ini cara yang benar untuk melakukan ini? Skrip saya yang sebenarnya sedikit lebih lama dari ini, tetapi tampaknya rusak ketika saya menambahkan flock
sintaks ke skrip bash.
Jika seseorang dapat menjelaskan cara kerja deskriptor file ini dan beri tahu saya jika saya mengunci file dengan benar, itu akan luar biasa!
flock
kerjanya? Saya barucurl
masih bisa menulis ke file. Perhatikan bahwa ini mungkin tidak aman (atau bahkan tidak berfungsi) dengan NFS, tetapi jangan gunakan skrip shell untuk mengunci file melalui NFS. Denganbash
, Anda juga dapat membuka file untuk membaca dan menulis:200<> resp.txt
tetapi ini seharusnya tidak mengubah apa pun.