aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortdro <tdro@users.noreply.github.com>2021-03-06 00:07:03 -0500
committertdro <tdro@users.noreply.github.com>2021-03-06 00:07:03 -0500
commit87b019ab540c3a8a833827b5271f36eff1b48665 (patch)
tree1f26aef809f9600338ad7a6817b73db4fdd114b1
parentb52b1ef51ada40d4c0c2f4f553610f270573bce2 (diff)
downloaddotfiles-87b019ab540c3a8a833827b5271f36eff1b48665.tar.gz
dotfiles-87b019ab540c3a8a833827b5271f36eff1b48665.tar.bz2
dotfiles-87b019ab540c3a8a833827b5271f36eff1b48665.zip
.local/bin/scripts/sshfs-mount: Guard eval until ssh-agent ready
-rwxr-xr-x.local/bin/scripts/sshfs-mount9
1 files changed, 5 insertions, 4 deletions
diff --git a/.local/bin/scripts/sshfs-mount b/.local/bin/scripts/sshfs-mount
index e99e773..0e2352c 100755
--- a/.local/bin/scripts/sshfs-mount
+++ b/.local/bin/scripts/sshfs-mount
@@ -1,18 +1,19 @@
-#!/bin/sh
+#!/bin/sh -eu
input="$1"
server="${input#*@}"
folder="${input%@*}"
mount_path="$HOME/Shares/SSHFS/$folder"
-[ "$2" = 'stop' ] && fusermount -u "$mount_path";
-[ "$2" = 'stop' ] && exit;
+[ "${2:-}" = 'stop' ] && { fusermount -u "$mount_path" || true; };
+[ "${2:-}" = 'stop' ] && exit;
# evaulate the keychain
+pidof ssh-agent || { printf "No ssh-agent available.\n"; exit 1; };
eval "$(keychain --dir "$HOME"/.cache/keychain --eval --agents ssh -Q --quiet "$HOME"/.ssh/mobile)";
# mount the directory
mkdir -p "$mount_path";
-fusermount -u "$mount_path";
+fusermount -u "$mount_path" || true;
# TODO: Add setting remote server path with argument
sshfs -f -o follow_symlinks,idmap=user,identityfile="$HOME"/.ssh/mobile,identityfile="$HOME"/.ssh/ansible root@"$server":/ "$mount_path";