Hi List, i stumbled upon an oddity regarding the "noclobber" option... In http://zsh.sunsite.dk/Intro/intro_16.html it reads: -------------------------------------------------------------------------------- NOCLOBBER prevents you from accidentally overwriting an existing file. % setopt noclobber % cat /dev/null >~/.zshrc zsh: file exists: /u/pfalstad/.zshrc If you really do want to clobber a file, you can use the >! operator. To make things easier in this case, the > is stored in the history list as a >!: % cat /dev/null >! ~/.zshrc % cat /etc/motd > ~/.zshrc zsh: file exists: /u/pfalstad/.zshrc % !! cat /etc/motd >! ~/.zshrc % ... -------------------------------------------------------------------------------- So using the noclobber option, piping into an existing file should raise an error, but the last command in the history should contain the "override" command ">!". Sad enough this does not work in my case: $ setopt noclobber $ cat /dev/null >! /tmp/testfile $ cat /etc/motd > /tmp/testfile zsh: file exists: /tmp/testfile $ !! cat /etc/motd > /tmp/testfile zsh: file exists: /tmp/testfile i already tried this with an empty .zshrc in order to exclude any cross-reaction with my other zsh-settings, but to no avail... $zsh --version zsh 4.2.5 (i686-pc-linux-gnu) Does anyone know why this isn't working? I like the noclobber idea a lot, because it prevents me from accidentally overwriting files. Yet it would be beneficial if i did not have to re-edit the last command each time i want to overwrite the file... Any idea highly appreciated! Many thanks in advance, Holger
Attachment:
pgpv9tBhMKkqI.pgp
Description: PGP signature