#!/bin/bash # Shell wrapper that runs the gocryptfs process in the background # and exits on SIGUSR1 set -eu trap "exit 0" SIGUSR1 shopt -u huponexit dir=$(dirname "$0") main="$dir/gocryptfs_main/gocryptfs_main" if [ ! -x $main ]; then echo "Error: gocryptfs_main executable not found. Run ./all.bash to build it." exit 1 fi # A backgrounded process gets /dev/null as stdin per default. # Explicitly set stdin to the current stdin so we can ask the user for input. "$main" $* < /proc/self/fd/0 & wait # The "& wait" is neccessary because bash only processes signals when # executing internal commands # We did not get USR1 - something went wrong exit 1