[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
FYI: install-sh: work with names containing spaces
From: |
Jim Meyering |
Subject: |
FYI: install-sh: work with names containing spaces |
Date: |
Sun, 10 Nov 2002 15:27:25 +0100 |
Due to insufficient quoting, install-sh fails for names (source or dest)
that contain spaces or some shell meta-characters. E.g.,
$ mkdir /tmp/x\ y
$ touch a\ b
$ bash install-sh 'a b' /tmp/x\ y
install-sh: line 150: [: /tmp/x: binary operator expected
mv: when moving multiple files, last argument must be a directory
Try `mv --help' for more information.
[Exit 1]
Plus, there was a bit of unnecessary quoting and some other
minor problems. I've fixed them, so now this works as it should:
$ mkdir /tmp/x\ y
$ touch a\ b
$ bash install-sh a\ b /tmp/x\ y
$ ls /tmp/x\ y
a\ b*
I've just checked in this change:
2002-11-09 Jim Meyering <address@hidden>
Make install-sh work even when names contain spaces or
certain (but not all) shell metachars.
* lib/install-sh: Remove lots of unnecessary quoting.
Add double quotes where necessary.
Write diagnostics to stderr, not stdout.
Normalize spacing in diagnostics: use one space (not two,
and not a TAB) after the leading `install:'.
Remove trailing white space.
Remove unnecessary curly braces.
If removing the destination fails, also try to move it aside.
Use `trap' more portably.
* tests/installsh2.test: New file, to test for the above fix.
* tests/Makefile.am (TESTS): Add installsh2.test.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- FYI: install-sh: work with names containing spaces,
Jim Meyering <=