Skip to content
Snippets Groups Projects
Select Git revision
  • 38e44dd60b2d9d1214373bba9721a7c15e50f263
  • master default
2 results

nc-mount

Blame
  • Adar Nimrod's avatar
    nimrod authored
    - nc-mount to mount locally NextCloud folders (using rclone).
    - Bash completion for nc-mount.
    802f7df3
    History
    nc-mount 830 B
    #!/bin/sh
    set -eu
    
    command -v rclone >/dev/null || { echo 'rclone not found.' >&2; exit 1; }
    
    usage () {
        echo "$0: [-a|--all] [-l|--list] [FOLDER]" >&2
        exit 1
    }
    
    _mount () {
        folder="$1"
        mkfolder -p "$HOME/$folder"
        rclone mount \
            --allow-non-empty \
            --daemon \
            --gid "$(id -g)" \
            --vfs-cache-mode full \
            --uid "$(id -u)" \
            "nextcloud:$folder" \
            "$HOME/$folder"
    }
    
    [ "$#" -eq 1 ] || usage
    
    folders="$(rclone lsd nextcloud: | cut -c 44- | grep -vx 'System information')"
    
    case "$1" in
        -h|--help) usage;;
        -l|--list) echo "$folders";;
        -a|--all) echo "$folders" | xargs -I % "$0" "%";;
        *) if echo "$folders" | grep -qx "$1"
        then
            _mount "$1"
        else
            echo "Folder $1 not found in Nextcloud." >&2
            exit 1
        fi;;
    esac