Khi tôi thay đổi tệp trong cygwin bash bằng lệnh sed, tệp sẽ bị khóa.
Tái sản xuất:
- Mở
cmd
vàcd
vào thư mục không sử dụng (fetemp
) echo aaa > test.txt
- Mở trong texteditor, thêm dòng, cố gắng lưu => hoạt động
%CYGWIN_HOME%\bin\bash -c "sed -i 's/aaa/bbb/' test.txt
"- Trong texteditor, thêm một dòng khác và cố gắng lưu => "Truy cập bị từ chối"
WTF?! Làm thế nào tôi có thể sed một tập tin mà không khóa, hoặc giải phóng các xử lý tập tin sau đó?
Quyền bảo mật của Windows dường như bị vặn hoàn toàn trên tệp:
Quyền trước:
Quyền sau:
Tuy nhiên, nó hoạt động trong thư mục người dùng (
Desktop
)- Tôi đã kiểm tra tệp bằng LockHunter nhưng không có quá trình nào xuất hiện để khóa tệp
- Câu hỏi thường gặp của Cygwin đề cập đến các can thiệp với một số chương trình. Nó đã thử gỡ cài đặt Antivir và Catalyst và khởi động lại.
- Đang dùng thử
UnxTools(sự cố),GnuWin32(sed không hỗ trợ thay thế tại chỗ),Interex(trình cài đặt không hỗ trợ W7 Pro) ... * thở dài *