Bonjour,
Je suis entrain de faire un script en bash pour accèder à un fichier, lire son contenu, et, en fonction de ce contenu, le modifier à chaque accès.
Je voudrais faire cela de manière sécurisée : si mon script est appelé 2 fois en un temps très court, il pourrait très bien lire 2 fois le même contenu si le premier appel ne le modifie pas suffisamment vite.
Il faudrait peut être en quelque sorte qu'il bloque le fichier tant qu'il n'a pas fait sa modif, de sorte qu'au lancement suivant, le script lira forcément la valeur modifiée. Si le lancement précédent n'a pas terminé sa modif, il attend avant de faire son traitement+modif.
Une sorte de 'select for update' de sql mais en bash.
Est-il possible de faire ça ? Je ne vois pas comment faire.
Pour l'instant ...
function acces
{
val=$(cat fichier)
newval=$(traitement $val)
echo $val > fichier
echo $val
}
