diff options
Diffstat (limited to 'ship/lib/core')
| -rw-r--r-- | ship/lib/core | 9 | 
1 files changed, 8 insertions, 1 deletions
| diff --git a/ship/lib/core b/ship/lib/core index 3a6b33ff..1ef1fbf9 100644 --- a/ship/lib/core +++ b/ship/lib/core @@ -2,15 +2,22 @@  msg() { printf "$@\n" >&2 ;}  info()   { msg "** $@" ;}  error()  { msg "!! $@" ;} +die()  { error "$@" ;exit 1;}  exists(){ type "$1" >/dev/null 2>/dev/null; }  is_root(){    test $(id -u) -eq 0 +}  + +defer(){ +  #close enough +  trapstr="$1;${trapstr:-exit}" +  trap "$trapstr" INT TERM EXIT KILL  }  esudo(){    # becomes root with sudo powers    # unless nosudo env is set -  if test "${nosudo-false}" != true || is_root; then +  if test "${nosudo-false}" != true && ! is_root; then      echo "we're going sudo..." >&2      exec sudo -E "$0" "$@"      exit 23 # go to hell | 
