Ho un comando che accetta un file come argomento, modifica il file, quindi lo scrive nel nome file specificato nel secondo argomento. Chiamerò quel programma modifyfile
.
Volevo che funzionasse "sul posto", quindi ho scritto uno script di shell (bash) che lo modifica in un file temporaneo e poi lo sposta indietro:
TMP=`mktemp`
modifyfile "$original" "$TMP"
mv -v "$TMP" "$original"
Questo ha lo sfortunato effetto collaterale di distruggere le autorizzazioni su questo file. Il file viene ricreato con le autorizzazioni predefinite.
C'è un modo per dire al mv
comando di sovrascrivere la destinazione senza alterarne le autorizzazioni? O in alternativa c'è un modo per salvare l'utente, il gruppo e le autorizzazioni dall'originale e ripristinarli?