On 20 Mar 2016, at 19:15, Philip Hands <phil at hands.com> wrote:> Is anyone going to be upset by the resulting blank lines being added by > ssh-copy-id when the file was not missing a terminating newline?Well it would be at least mildly annoying my previously nice looking file now has a pile of blank lines in just because someone didn't know how to use their editor ... -- Alex Bligh -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 842 bytes Desc: Message signed with OpenPGP using GPGMail URL: <http://lists.mindrot.org/pipermail/openssh-unix-dev/attachments/20160320/cfe075f2/attachment.bin>
On Sun, Mar 20, 2016 at 07:30:01PM +0000, Alex Bligh wrote:> > On 20 Mar 2016, at 19:15, Philip Hands <phil at hands.com> wrote: > > > Is anyone going to be upset by the resulting blank lines being added by > > ssh-copy-id when the file was not missing a terminating newline? > > Well it would be at least mildly annoying my previously nice looking file > now has a pile of blank lines in just because someone didn't know > how to use their editor ...You can be pretty sure it'd end up causing a bug report as well ("ssh-copy-id introduces blank lines into good files"). -- rgds Stephen
On Sun, Mar 20, 2016 at 03:51:23PM -0400, Stephen Harris wrote:> On Sun, Mar 20, 2016 at 07:30:01PM +0000, Alex Bligh wrote: > > On 20 Mar 2016, at 19:15, Philip Hands <phil at hands.com> wrote: > > > Is anyone going to be upset by the resulting blank lines being added by > > > ssh-copy-id when the file was not missing a terminating newline? > > > > Well it would be at least mildly annoying my previously nice looking file > > now has a pile of blank lines in just because someone didn't know > > how to use their editor ... > > You can be pretty sure it'd end up causing a bug report as well > ("ssh-copy-id introduces blank lines into good files").How about something like: if [ "$(sed -n '${s/.*//;p}' ~/.ssh/authorized_keys | wc -l)" = 0 ]; then echo >> ~/.ssh/authorized_keys fi I feel like there must be a neater but still portable way to do this, and the above would require some careful quoting to work in the context of ssh-copy-id. -- Colin Watson [cjwatson at debian.org]
I agree it would be bad to add empty lines. I came up with this function: function is_newline_terminated { test -z "$(tail -c1 "${1}")" } to check whether an append would corrupt the file. Maybe something like: is_newline_terminated ~/.ssh/authorized_keys || echo >> ~/.ssh/authorized_keys would work in the appropriate place. On 3/20/16, Stephen Harris <lists at spuddy.org> wrote:> On Sun, Mar 20, 2016 at 07:30:01PM +0000, Alex Bligh wrote: >> >> On 20 Mar 2016, at 19:15, Philip Hands <phil at hands.com> wrote: >> >> > Is anyone going to be upset by the resulting blank lines being added by >> > ssh-copy-id when the file was not missing a terminating newline? >> >> Well it would be at least mildly annoying my previously nice looking file >> now has a pile of blank lines in just because someone didn't know >> how to use their editor ... > > You can be pretty sure it'd end up causing a bug report as well > ("ssh-copy-id introduces blank lines into good files"). > > -- > > rgds > Stephen >