1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #!/bin/bash
- required=0
- persistence=/tmp/dhbxxx
- while getopts ":p:rc" flag; do
- case "$flag" in
- :) echo "$0: Option -$OPTARG requires an argument." 1>&2
- exit 1
- ;;
- \?) echo "$0: Option -$OPTARG unrecognized." 1>&2
- exit 1
- ;;
- p) persistence="$OPTARG" ;;
- r) required=1 ;;
- c) delpersistence=1 ;;
- esac
- done
- shift $((OPTIND-1))
- cmd=$*
- mkdir -p $(dirname $persistence)
- touch $persistence
- if [[ $delpersistence -eq 1 ]]; then
- rm -f $persistence
- exit 0
- fi
- if [[ "$USER" == "root" ]]; then
- fakeroot=""
- elif type fauxsu &> /dev/null; then
- fakeroot="fauxsu -p $persistence -- "
- elif type fakeroot-ng &> /dev/null; then
- fakeroot="fakeroot-ng -p $persistence -- "
- elif type fakeroot &> /dev/null; then
- fakeroot="fakeroot -i $persistence -s $persistence -- "
- else
- if [[ $required -eq 1 ]]; then
- fakeroot=""
- else
- fakeroot=": "
- fi
- fi
- #echo $fakeroot $cmd
- $fakeroot $cmd
|