All Projects → zevweiss → booze

zevweiss / booze

Licence: GPL-2.0 license
FUSE bindings for bash.

Programming Languages

c
50402 projects - #5 most used programming language
shell
77523 projects
Makefile
30231 projects

Projects that are alternatives of or similar to booze

Hfsfuse
FUSE driver for HFS+ filesystems
Stars: ✭ 53 (+76.67%)
Mutual labels:  fuse-filesystem
Supertag
A tag-based filesystem
Stars: ✭ 207 (+590%)
Mutual labels:  fuse-filesystem
Fusepp
Fusepp -- A simple C++ wrapper for the FUSE filesystem
Stars: ✭ 41 (+36.67%)
Mutual labels:  fuse-filesystem
Acd cli
An unmaintained command line interface and FUSE filesystem for Amazon (Cloud) Drive
Stars: ✭ 1,366 (+4453.33%)
Mutual labels:  fuse-filesystem
Rar2fs
FUSE file system for reading RAR archives
Stars: ✭ 155 (+416.67%)
Mutual labels:  fuse-filesystem
Ninfs
FUSE filesystem Python scripts for Nintendo console files
Stars: ✭ 241 (+703.33%)
Mutual labels:  fuse-filesystem
Fusell Seed
FUSE (the low-level interface) file system boilerplate 📂 🔌 💾
Stars: ✭ 9 (-70%)
Mutual labels:  fuse-filesystem
ltfs
Reference implementation of the LTFS format Spec for stand alone tape drive
Stars: ✭ 130 (+333.33%)
Mutual labels:  fuse-filesystem
Usbmount
Simple set of scripts to automount removable devices for a Linux system
Stars: ✭ 160 (+433.33%)
Mutual labels:  fuse-filesystem
UserFileSystemSamples
IT Hit User File System Engine samples in .NET/C#. Samples implement Virtual File System for Windows and Mac with synchronization support, on-demand loading, offline files, and Windows File Manager integration.
Stars: ✭ 60 (+100%)
Mutual labels:  fuse-filesystem
Cryfs
Cryptographic filesystem for the cloud
Stars: ✭ 1,560 (+5100%)
Mutual labels:  fuse-filesystem
Gitfs
Version controlled file system
Stars: ✭ 2,177 (+7156.67%)
Mutual labels:  fuse-filesystem
GitFS
A FUSE filesystem that stores data on Git
Stars: ✭ 26 (-13.33%)
Mutual labels:  fuse-filesystem
Zipfs
Example FUSE filesystem that serves a Zip archive
Stars: ✭ 93 (+210%)
Mutual labels:  fuse-filesystem
clamfs
ClamFS is a FUSE-based user-space file system for Linux and BSD with on-access anti-virus file scanning
Stars: ✭ 29 (-3.33%)
Mutual labels:  fuse-filesystem
Dungeonfs
A FUSE filesystem and dungeon crawling adventure game engine
Stars: ✭ 979 (+3163.33%)
Mutual labels:  fuse-filesystem
Minfs
A network filesystem client to connect to Minio and Amazon S3 compatible cloud storage servers
Stars: ✭ 222 (+640%)
Mutual labels:  fuse-filesystem
fusell-seed
FUSE (the low-level interface) file system boilerplate 📂 🔌 💾
Stars: ✭ 13 (-56.67%)
Mutual labels:  fuse-filesystem
muxfys
High performance multiplexed user fuse mounting
Stars: ✭ 20 (-33.33%)
Mutual labels:  fuse-filesystem
libcloudstorage
Official libcloudstorage repository.
Stars: ✭ 49 (+63.33%)
Mutual labels:  fuse-filesystem

booze

FUSE bindings for bash.

If you, like me, have ever had the desire to create a FUSE filesystem from a shell script, this may be just the thing for you.

booze compiles to a shared library (booze.so) that you can load into bash via its enable -f feature. It adds a new builtin to bash, booze, that mounts a FUSE filesystem and shuffles data back and forth between libfuse and bash functions in your script.

Its help text gives a basic description of how to use it:

booze: booze [-df] FN_ASSOC MOUNTPOINT
    Mount a booze filesystem at MOUNTPOINT using functions in FN_ASSOC.

    Options:
      -d: debug mode (implies -f)
      -f: run in foreground

    FN_ASSOC must be an associative array.  Any keys it contains that match
    one of the following FUSE operation names will cause that FUSE operation
    to be implemented by the bash function named by the value corresponding
    to the key:

        getattr
        access
        readlink
        readdir
        mknod
        mkdir
        unlink
        rmdir
        symlink
        rename
        link
        chmod
        chown
        truncate
        utimens
        open
        read
        write
        statfs
        release
        fsync
        fallocate
        setxattr
        getxattr
        listxattr
        removexattr

    If for any reason this doesn't seem like a good idea, the user is
    encouraged to drink until it does.

The files hello.sh (a simple "hello world"), passthrough.sh (sort of like a bind mount), and cowsayfs.sh (filenames through cowsay!) provide examples of functioning booze filesystems.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].