36 lines
775 B
Plaintext
36 lines
775 B
Plaintext
|
|
#!/usr/bin/env bash
|
||
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||
|
|
# Name: backtunnel-umount
|
||
|
|
# Summary: Unmount a BackTunnel FUSE mount point using the best available helper.
|
||
|
|
# Usage:
|
||
|
|
# backtunnel-umount <mountpoint>
|
||
|
|
# Notes:
|
||
|
|
# - Prefers fusermount3, then fusermount; falls back to umount.
|
||
|
|
# - Expands a leading "~" in the mountpoint.
|
||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
usage() {
|
||
|
|
echo "Usage: $(basename "$0") <mountpoint>" >&2
|
||
|
|
exit 1
|
||
|
|
}
|
||
|
|
|
||
|
|
case "${1:-}" in
|
||
|
|
-h|--help) usage ;;
|
||
|
|
esac
|
||
|
|
|
||
|
|
MP="${1:-}"
|
||
|
|
[[ -n "$MP" ]] || usage
|
||
|
|
|
||
|
|
# Expand leading ~
|
||
|
|
if [[ "$MP" == "~"* ]]; then
|
||
|
|
MP="${MP/#\~/$HOME}"
|
||
|
|
fi
|
||
|
|
|
||
|
|
if command -v fusermount3 >/dev/null 2>&1; then
|
||
|
|
exec fusermount3 -u -- "$MP"
|
||
|
|
elif command -v fusermount >/dev/null 2>&1; then
|
||
|
|
exec fusermount -u -- "$MP"
|
||
|
|
else
|
||
|
|
exec umount -- "$MP"
|
||
|
|
fi
|