From 15446733e4d3f8e246bb356c06b9d6596d1759bf Mon Sep 17 00:00:00 2001 From: Mylloon Date: Sun, 8 Oct 2023 20:25:32 +0200 Subject: [PATCH] Add ssh-import --- .config/fish/functions/ssh-import.fish | 30 ++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 .config/fish/functions/ssh-import.fish diff --git a/.config/fish/functions/ssh-import.fish b/.config/fish/functions/ssh-import.fish new file mode 100644 index 0000000..2d1b8f2 --- /dev/null +++ b/.config/fish/functions/ssh-import.fish @@ -0,0 +1,30 @@ +function ssh-import + # Check if no arguments were provided, or if the first argument is '--help' + if test -z $argv[1] || test "$argv[1]" = --help + echo -e "Usage: ssh-import " + echo -e " ssh-import --help \t - Show this help message" + echo -e " ssh-import - Erase **all** the current .ssh folder and replace it with the archive content" + return 0 + end + + + set file "$argv[1]" + if test (count $argv) -ge 2 + # Check if usage is respected + echo "Too much arguments." 1>&2 + return 1 + else if not test -e "$file" + # Check if file exists + echo "File doesn't exists." 1>&2 + return 1 + else if not test $(string sub --start=-3 "$file") = zip + # Check if file have .zip extension + echo "File isn't a zip archive." 1>&2 + return 1 + end + + # Update and overwrite the .ssh directory with the archive content + # Using modification date, and new files are added + # Files removed aren't tracked + unzip -uo "$file" -d "$HOME/.ssh" +end