Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 Oct 2004 18:31:00 -0700 (PDT)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        freebsd-hackers@freebsd.org
Subject:   Re: Protection from the dreaded "rm -fr /"
Message-ID:  <200410060131.i961V0pw047974@apollo.backplane.com>
References:  <20041002081928.GA21439@gothmog.gr> <200410021123.59811.max@love2party.net> <20041002083336.GA10355@k7.mavetju> <20041002101842.GA23272@gothmog.gr> <20041005103123.C46325@duey.wolves.k12.mo.us>

next in thread | previous in thread | raw e-mail | index | archive | help
     Yow.  78 messages and counting.  Er, 79 now.  I'll bet poor Giorgos
     wishes he never started this thread!  Get ready..... get set.... DIVE!

     A good friend of mine has, for at least the last two decades, used
     something along the lines of:

     if ( $?prompt ) then
	 alias rm 'mv \!* $HOME/misc/trash'
     endif

     However, it seems that the correct solution is to create a new option,
     -I, which puts rm into 'idiot user mode' and has all the desired
     confirmation effects listed in this thread and none of the undesired
     effects such as -i returns.  Then if anyone wants to use it they
     can just create an alias similar to the above for -I and poof, problem
     solved.  It's fairly easy to detect '*' and ask for confirmation,
     and also easy to ask for a single confirmation on a directory (not
     ask again for any recursion).

     Then you guys can argue over whether the alias should appear in the
     system-wide default csh.cshrc and friends, rather then argue over
     the destruction of rm's basic nature.  I will only point out that 'rm'
     is used fairly universally in scripts and there are obviously things
     other then '/' that you would want to ask confirmation for that just
     as obviously cannot be made default operation for rm.

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200410060131.i961V0pw047974>