dotfiles/local/bin/mount-jool

34 lines
599 B
Bash
Executable File

#!/usr/bin/env bash
set -o errexit
set -o pipefail
main() {
if [[ -f ~/mnt/jool/.mounted ]]; then
printf 'Already mounted\n' >&2
exit 0
fi
local sshfs_args=(
me@jool:/store/sshfs/meatballhat
~/mnt/jool
-p 23436
-C
)
local sshfs_uidfile="${HOME}/.config/sshfs-$(_hostname)-uidmap"
if [[ -f "${sshfs_uidfile}" ]]; then
sshfs_args=(-o uidfile="${sshfs_uidfile}" "${sshfs_args[@]}")
fi
mkdir -p ~/mnt/jool
sshfs "${sshfs_args[@]}"
}
_hostname() {
hostname 2>/dev/null ||
hostnamectl status --static 2>/dev/null ||
echo unknown
}
main "${@}"