[SunHELP] stupid error
    William W. Arnold 
    sunhelp at sunhelp.org
       
    Wed Feb  7 12:42:08 CST 2001
    
    
  
David Bishop writes ---
>How can you delete a file that is named -al?  Being stupid, I forgot what I
>was doing and typed 'touch ls -al'.  Now, rm and mv both refuse to touch the
>file, whether I quote it, double-quote it, backslash escape it, or stand on
>my head, claiming that -al are illegal arguments.  Help!
rm ./-al
Just remember that the arguments are interpreted by the command (rm or mv)
but all the quoting/double-quoting/escaping etc is for the benifit of the shell
and is removed before the command sees it.
FAQ on comp.unix.questions
Subject: How do I remove a file whose name begins with a "-" ?
Date: Thu Mar 18 17:16:55 EST 1993
2.1)  How do I remove a file whose name begins with a "-" ?
      Figure out some way to name the file so that it doesn't begin
      with a dash.  The simplest answer is to use
            rm ./-filename
      (assuming "-filename" is in the current directory, of course.)
      This method of avoiding the interpretation of the "-" works with
      other commands too.
      Many commands, particularly those that have been written to use
      the "getopt(3)" argument parsing routine, accept a "--" argument
      which means "this is the last option, anything after this is not
      an option", so your version of rm might handle "rm -- -filename".
      Some versions of rm that don't use getopt() treat a single "-"
      in the same way, so you can also try "rm - -filename".
-- 
-billy-  warnold at vipnet.org
    
    
More information about the SunHELP
mailing list