2016-04-04 19 views
0

Sadece bir dizinin dosyalarındaki dizeleri değiştirmek için find ve sed kombinasyonunu kullandım.sed script - temp dosyasında izin reddedildi

Bu iş bitti. Bundan sonra sunucuyu kapattım (SSH ile bağlandı) ve sonra hatırladım, komutu tekrar çalıştırmam gerekiyor. Bu yüzden biraz değiştirilmiş bulmak/değiştirin dizeleri ile aynı komutu ateş, ancak aşağıdaki hatayı veriyor artık işe yaramadı:

sed: couldn't open temporary file ./sedPFq4Ck: Permission denied 

şimdi yanlış olan nedir?

FWIW: Belirtilen geçici dosyanın dosya adı her yeni denemeden sonra değişir.

cevap

2

Bir dosyayı yerinde düzenlerken, sed geçici bir dosya oluşturur, sonucu kaydeder ve son olarak mv özgün dosyayı geçici olana kaydeder.

Sorun, sed'un geçici dosya oluşturmaya çalıştığı dizinde yazma izninizin olmamasıdır.

Dosya ./sedPFq4Ck olduğu için, find komutunu çalıştırdığınız dizinin iznini kontrol edin.

+0

ama neden 10 dakika önce çalıştı? – beta

+0

@beta Bu muğlak bir soru, dizinin iznini kontrol edin, yazma izniniz yok. Belki ilk defa, siz farklı kullanıcılara izin verdiniz .. – heemayl

+0

tamam, üzgünüm. yöneticim, iki denemem arasındaki izinleri değiştirdi. Bunun farkında değildim. – beta