ssh-copy-id no newline bug
Philip Hands
phil at hands.com
Tue Mar 22 19:17:21 AEDT 2016
Gert Doering <gert at greenie.muc.de> writes:
> Hi,
>
> On Tue, Mar 22, 2016 at 08:34:46AM +0100, Philip Hands wrote:
>> I think that adding the following, just before the 'mkdir .ssh', should
>> do the trick:
>>
>> [ "`tail -c1 .ssh/authorized_keys 2>/dev/null`" ] && echo > .ssh/authorized_keys ;
>>
>> anyone know of portability issues with that?
>
> I'm not sure what the test will do, but the "echo" should be an
> "echo >>", no?
Yes. Doh! ;-)
The test gets the last character of the file, and puts it in quotes
after removing new-lines -- which basically means that test fails if
there's a newline there, or if the file's empty, since that gives you:
[ "" ]
which means that the second half of the && does not need to be
evaluated -- the result being that a newline is only added if the last
character of the file is not already a newline.
The only thing that's wrong with that is if the file is empty it'll end
up with a blank line at the start, but a) why would there be an empty
file there? and b) who cares?
Cheers, Phil.
--
|)| Philip Hands [+44 (0)20 8530 9560] HANDS.COM Ltd.
|-| http://www.hands.com/ http://ftp.uk.debian.org/
|(| Hugo-Klemm-Strasse 34, 21075 Hamburg, GERMANY
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.mindrot.org/pipermail/openssh-unix-dev/attachments/20160322/2125d3e8/attachment-0001.bin>
More information about the openssh-unix-dev
mailing list