#! /bin/sh # SPDX-License-Identifier: LGPL-2.1-or-later set -euf d=$HOME/.ssh p=${2:-authorized_keys} f=$d/$p if ! test -f "$f"; then # shellcheck disable=SC2174 # yes, we know that -m only applies to the deepest directory mkdir -m 700 -p "$d" touch "$f" chmod 600 "$f" fi while read l; do if [ "$l" = "$1" ]; then exit 0 fi done <"$f" # Add newline if necessary ! test -s "$f" || tail -c1 < "$f" | read -r _ || echo >> "$f" echo "$1" >>"$f"