Mevcut bir dosyanın üzerine yazarken bash’ın beni uyarmasını nasıl sağlayabilirim?


34

Bence unvan oldukça açıklayıcı. Tek istediğim, cpya da kullanırken varolanların üzerine yazmaya çalıştığımda beni uyarmak mv. Gerçekten biraz yardım için minnettar olurum. :)

Yanıtlar:


43

'Üzerine yazmadan önce bilgi istemi' almanızı sağlayan etkileşimli modu kullanmalısınız.

cp --interactive
mv --interactive

Veya kısacası

cp -i
mv -i

Yazın man cpya man mvda komut satırında daha fazla bilgi edinmek için.


2
Sanırım bu komutları .bashrc de takma isimler gibi gider. Çok teşekkürler. Yardımınıza minnettar olurum. :)
sayantankhan

3
Aslında! .Bashrc'nize bir şey ekleyebilir alias rm='rm -i'veya .bash_aliases'ınızı daha iyi hale getirebilirsiniz. Yazıda daha fazla bilgi edinin Nasıl kalıcı bir Bash takma adı oluşturabilirim?
don.joey

2
Ama sadece bir şey düşündüm. Yazdığım bazı senaryolardan ne haber? Aliased cp ve mv veya normal olanı kullanırlar mı?
sayantankhan

@ Bolt64 Takma ad tanımınızı nereye koyduğunuza bağlıdır, ancak genellikle normal olanı kullanır.
Jan Warchoł

12

Ayrıca set -o noclobber.bashrc'nizi de koymak istersiniz . Çıktı yönlendirme ile mevcut bir dosyanın üzerine yazmaya çalışırsanız bu bir hataya neden olur.

$ set -o noclobber
$ echo one > afile
$ echo two > afile
bash: afile: cannot overwrite existing file

Yönlendirmeyi özel bir sözdizimi ile çalışmaya zorlayabilirsiniz:

$ echo two >| afile
$ cat afile
two

http://www.gnu.org/software/bash/manual/bashref.html#Redirecting-Output

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.