Quando cambio file in cygwin bash con il comando sed, il file viene bloccato.
Riprodurre:
- Apri
cmd
ecd
nella directory non utente (fetemp
) echo aaa > test.txt
- Apri in texteditor, aggiungi riga, prova a salvare => funziona
%CYGWIN_HOME%\bin\bash -c "sed -i 's/aaa/bbb/' test.txt
"- In texteditor, aggiungi un'altra riga e prova a salvare => "Accesso negato"
WTF ?! Come posso sed un file senza bloccare o rilasciare successivamente gli handle di file?
Le autorizzazioni di sicurezza di Windows sembrano essere completamente avvitate sul file:
Autorizzazioni prima di:
Autorizzazioni dopo:
Funziona comunque nella directory utente (
Desktop
)- Ho controllato il file con LockHunter ma non appare alcun processo per bloccare il file
- Le FAQ di Cygwin menzionano interferenze con alcuni programmi. Ha provato a disinstallare Antivir e Catalyst e riavviare.
- Provando
UnxTools(arresti anomali),GnuWin32(sed non supporta la sostituzione sul posto),Interex(il programma di installazione non supporta W7 Pro) ... * sigh *